all: autogenerated update (2019-05-05)

Update:
- bigquery/v2
- calendar/v3
- cloudbuild/v1
- cloudscheduler/v1
- container/v1beta1
- dialogflow/v2
- dialogflow/v2beta1
- digitalassetlinks/v1
- dns/v2beta1
- drive/v2
- drive/v3
- file/v1
- file/v1beta1
- iam/v1
- serviceconsumermanagement/v1
- servicenetworking/v1
- servicenetworking/v1beta
- serviceusage/v1
- serviceusage/v1beta1
- spanner/v1
- storage/v1
diff --git a/bigquery/v2/bigquery-api.json b/bigquery/v2/bigquery-api.json
index 13f363a..d22f53d 100644
--- a/bigquery/v2/bigquery-api.json
+++ b/bigquery/v2/bigquery-api.json
@@ -32,7 +32,7 @@
   "description": "A data platform for customers to create, manage, share and query data.",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/bigquery/",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/a2nlJZeJWR_msdw4HiE_dxM8apw\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/boLtXlvWPAjwQiuwa2jNpK7I5JQ\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/search-16.gif",
     "x32": "https://www.google.com/images/icons/product/search-32.gif"
@@ -998,7 +998,7 @@
       }
     }
   },
-  "revision": "20190308",
+  "revision": "20190501",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "BigQueryModelTraining": {
@@ -2461,7 +2461,7 @@
           "description": "[Output-only] The schema of the results. Present only for successful dry run of non-legacy SQL queries."
         },
         "statementType": {
-          "description": "The type of query statement, if valid. Possible values (new values might be added in the future): \"SELECT\": SELECT query. \"INSERT\": INSERT query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"UPDATE\": UPDATE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"DELETE\": DELETE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"MERGE\": MERGE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"CREATE_TABLE\": CREATE [OR REPLACE] TABLE without AS SELECT. \"CREATE_TABLE_AS_SELECT\": CREATE [OR REPLACE] TABLE ... AS SELECT ... . \"DROP_TABLE\": DROP TABLE query. \"CREATE_VIEW\": CREATE [OR REPLACE] VIEW ... AS SELECT ... . \"DROP_VIEW\": DROP VIEW query. \"CREATE_FUNCTION\": CREATE FUNCTION query. \"DROP_FUNCTION\" : DROP FUNCTION query. \"ALTER_TABLE\": ALTER TABLE query. \"ALTER_VIEW\": ALTER VIEW query.",
+          "description": "The type of query statement, if valid. Possible values (new values might be added in the future): \"SELECT\": SELECT query. \"INSERT\": INSERT query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"UPDATE\": UPDATE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"DELETE\": DELETE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"MERGE\": MERGE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. \"ALTER_TABLE\": ALTER TABLE query. \"ALTER_VIEW\": ALTER VIEW query. \"CREATE_FUNCTION\": CREATE FUNCTION query. \"CREATE_MODEL\": CREATE [OR REPLACE] MODEL ... AS SELECT ... . \"CREATE_PROCEDURE\": CREATE PROCEDURE query. \"CREATE_TABLE\": CREATE [OR REPLACE] TABLE without AS SELECT. \"CREATE_TABLE_AS_SELECT\": CREATE [OR REPLACE] TABLE ... AS SELECT ... . \"CREATE_VIEW\": CREATE [OR REPLACE] VIEW ... AS SELECT ... . \"DROP_FUNCTION\" : DROP FUNCTION query. \"DROP_PROCEDURE\": DROP PROCEDURE query. \"DROP_TABLE\": DROP TABLE query. \"DROP_VIEW\": DROP VIEW query.",
           "type": "string"
         },
         "timeline": {
diff --git a/bigquery/v2/bigquery-gen.go b/bigquery/v2/bigquery-gen.go
index 16f8377..85bbc87 100644
--- a/bigquery/v2/bigquery-gen.go
+++ b/bigquery/v2/bigquery-gen.go
@@ -2531,7 +2531,7 @@
 	// StatementType: The type of query statement, if valid. Possible values
 	// (new values might be added in the future): "SELECT": SELECT query.
 	// "INSERT": INSERT query; see
-	// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "UPDATE": UPDATE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "DELETE": DELETE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "MERGE": MERGE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "CREATE_TABLE": CREATE [OR REPLACE] TABLE without AS SELECT. "CREATE_TABLE_AS_SELECT": CREATE [OR REPLACE] TABLE ... AS SELECT ... . "DROP_TABLE": DROP TABLE query. "CREATE_VIEW": CREATE [OR REPLACE] VIEW ... AS SELECT ... . "DROP_VIEW": DROP VIEW query. "CREATE_FUNCTION": CREATE FUNCTION query. "DROP_FUNCTION" : DROP FUNCTION query. "ALTER_TABLE": ALTER TABLE query. "ALTER_VIEW": ALTER VIEW
+	// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "UPDATE": UPDATE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "DELETE": DELETE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "MERGE": MERGE query; see https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language. "ALTER_TABLE": ALTER TABLE query. "ALTER_VIEW": ALTER VIEW query. "CREATE_FUNCTION": CREATE FUNCTION query. "CREATE_MODEL": CREATE [OR REPLACE] MODEL ... AS SELECT ... . "CREATE_PROCEDURE": CREATE PROCEDURE query. "CREATE_TABLE": CREATE [OR REPLACE] TABLE without AS SELECT. "CREATE_TABLE_AS_SELECT": CREATE [OR REPLACE] TABLE ... AS SELECT ... . "CREATE_VIEW": CREATE [OR REPLACE] VIEW ... AS SELECT ... . "DROP_FUNCTION" : DROP FUNCTION query. "DROP_PROCEDURE": DROP PROCEDURE query. "DROP_TABLE": DROP TABLE query. "DROP_VIEW": DROP VIEW
 	// query.
 	StatementType string `json:"statementType,omitempty"`
 
diff --git a/calendar/v3/calendar-api.json b/calendar/v3/calendar-api.json
index 42402eb..c863c00 100644
--- a/calendar/v3/calendar-api.json
+++ b/calendar/v3/calendar-api.json
@@ -26,7 +26,7 @@
   "description": "Manipulates events and other calendar data.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/google-apps/calendar/firstapp",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/K8LMZ9chM5kSVFHSd0_S-CEUrGk\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/AciOQr9FW92aqABx-Xo_TTJaKXc\"",
   "icons": {
     "x16": "http://www.google.com/images/icons/product/calendar-16.png",
     "x32": "http://www.google.com/images/icons/product/calendar-32.png"
@@ -1164,13 +1164,13 @@
               "type": "string"
             },
             "timeMax": {
-              "description": "Upper bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
+              "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
               "format": "date-time",
               "location": "query",
               "type": "string"
             },
             "timeMin": {
-              "description": "Lower bound (inclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
+              "description": "Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
               "format": "date-time",
               "location": "query",
               "type": "string"
@@ -1561,13 +1561,13 @@
               "type": "string"
             },
             "timeMax": {
-              "description": "Upper bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
+              "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
               "format": "date-time",
               "location": "query",
               "type": "string"
             },
             "timeMin": {
-              "description": "Lower bound (inclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
+              "description": "Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
               "format": "date-time",
               "location": "query",
               "type": "string"
@@ -1724,7 +1724,7 @@
       }
     }
   },
-  "revision": "20190331",
+  "revision": "20190430",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Acl": {
@@ -2130,7 +2130,7 @@
           "description": "Additional properties related to a conference. An example would be a solution-specific setting for enabling video streaming."
         },
         "signature": {
-          "description": "The signature of the conference data.\nGenereated on server side. Must be preserved while copying the conference data between events, otherwise the conference data will not be copied.\nUnset for a conference with a failed create request.\nOptional for a conference with a pending create request.",
+          "description": "The signature of the conference data.\nGenerated on server side. Must be preserved while copying the conference data between events, otherwise the conference data will not be copied.\nUnset for a conference with a failed create request.\nOptional for a conference with a pending create request.",
           "type": "string"
         }
       },
diff --git a/calendar/v3/calendar-gen.go b/calendar/v3/calendar-gen.go
index 33bbe06..c1d26a5 100644
--- a/calendar/v3/calendar-gen.go
+++ b/calendar/v3/calendar-gen.go
@@ -872,7 +872,7 @@
 	Parameters *ConferenceParameters `json:"parameters,omitempty"`
 
 	// Signature: The signature of the conference data.
-	// Genereated on server side. Must be preserved while copying the
+	// Generated on server side. Must be preserved while copying the
 	// conference data between events, otherwise the conference data will
 	// not be copied.
 	// Unset for a conference with a failed create request.
@@ -6909,9 +6909,9 @@
 }
 
 // TimeMax sets the optional parameter "timeMax": Upper bound
-// (exclusive) for an event's end time to filter by.  The default is not
-// to filter by end time. Must be an RFC3339 timestamp with mandatory
-// time zone offset, for example, 2011-06-03T10:00:00-07:00,
+// (exclusive) for an event's start time to filter by.  The default is
+// not to filter by start time. Must be an RFC3339 timestamp with
+// mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00,
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored.
 // If timeMin is set, timeMax must be greater than timeMin.
 func (c *EventsListCall) TimeMax(timeMax string) *EventsListCall {
@@ -6920,9 +6920,9 @@
 }
 
 // TimeMin sets the optional parameter "timeMin": Lower bound
-// (inclusive) for an event's start time to filter by.  The default is
-// not to filter by start time. Must be an RFC3339 timestamp with
-// mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00,
+// (exclusive) for an event's end time to filter by.  The default is not
+// to filter by end time. Must be an RFC3339 timestamp with mandatory
+// time zone offset, for example, 2011-06-03T10:00:00-07:00,
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored.
 // If timeMax is set, timeMin must be smaller than timeMax.
 func (c *EventsListCall) TimeMin(timeMin string) *EventsListCall {
@@ -7139,13 +7139,13 @@
 	//       "type": "string"
 	//     },
 	//     "timeMax": {
-	//       "description": "Upper bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
+	//       "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
 	//       "format": "date-time",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "timeMin": {
-	//       "description": "Lower bound (inclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
+	//       "description": "Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
 	//       "format": "date-time",
 	//       "location": "query",
 	//       "type": "string"
@@ -8261,9 +8261,9 @@
 }
 
 // TimeMax sets the optional parameter "timeMax": Upper bound
-// (exclusive) for an event's end time to filter by.  The default is not
-// to filter by end time. Must be an RFC3339 timestamp with mandatory
-// time zone offset, for example, 2011-06-03T10:00:00-07:00,
+// (exclusive) for an event's start time to filter by.  The default is
+// not to filter by start time. Must be an RFC3339 timestamp with
+// mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00,
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored.
 // If timeMin is set, timeMax must be greater than timeMin.
 func (c *EventsWatchCall) TimeMax(timeMax string) *EventsWatchCall {
@@ -8272,9 +8272,9 @@
 }
 
 // TimeMin sets the optional parameter "timeMin": Lower bound
-// (inclusive) for an event's start time to filter by.  The default is
-// not to filter by start time. Must be an RFC3339 timestamp with
-// mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00,
+// (exclusive) for an event's end time to filter by.  The default is not
+// to filter by end time. Must be an RFC3339 timestamp with mandatory
+// time zone offset, for example, 2011-06-03T10:00:00-07:00,
 // 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored.
 // If timeMax is set, timeMin must be smaller than timeMax.
 func (c *EventsWatchCall) TimeMin(timeMin string) *EventsWatchCall {
@@ -8483,13 +8483,13 @@
 	//       "type": "string"
 	//     },
 	//     "timeMax": {
-	//       "description": "Upper bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
+	//       "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin.",
 	//       "format": "date-time",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "timeMin": {
-	//       "description": "Lower bound (inclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
+	//       "description": "Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax.",
 	//       "format": "date-time",
 	//       "location": "query",
 	//       "type": "string"
diff --git a/cloudbuild/v1/cloudbuild-api.json b/cloudbuild/v1/cloudbuild-api.json
index 81077eb..643ddd9 100644
--- a/cloudbuild/v1/cloudbuild-api.json
+++ b/cloudbuild/v1/cloudbuild-api.json
@@ -573,7 +573,7 @@
       }
     }
   },
-  "revision": "20190323",
+  "revision": "20190501",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
@@ -1051,6 +1051,13 @@
           "description": "Substitutions data for Build resource.",
           "type": "object"
         },
+        "tags": {
+          "description": "Tags for annotation of a `BuildTrigger`",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "triggerTemplate": {
           "$ref": "RepoSource",
           "description": "Template describing the types of source changes to trigger a build.\n\nBranch and tag names in trigger templates are interpreted as regular\nexpressions. Any branch or tag change that matches that regular expression\nwill trigger a build."
diff --git a/cloudbuild/v1/cloudbuild-gen.go b/cloudbuild/v1/cloudbuild-gen.go
index 64ceda7..b088023 100644
--- a/cloudbuild/v1/cloudbuild-gen.go
+++ b/cloudbuild/v1/cloudbuild-gen.go
@@ -887,6 +887,9 @@
 	// Substitutions: Substitutions data for Build resource.
 	Substitutions map[string]string `json:"substitutions,omitempty"`
 
+	// Tags: Tags for annotation of a `BuildTrigger`
+	Tags []string `json:"tags,omitempty"`
+
 	// TriggerTemplate: Template describing the types of source changes to
 	// trigger a build.
 	//
diff --git a/cloudscheduler/v1/cloudscheduler-api.json b/cloudscheduler/v1/cloudscheduler-api.json
index c8915b2..44cb950 100644
--- a/cloudscheduler/v1/cloudscheduler-api.json
+++ b/cloudscheduler/v1/cloudscheduler-api.json
@@ -417,7 +417,7 @@
       }
     }
   },
-  "revision": "20190429",
+  "revision": "20190412",
   "rootUrl": "https://cloudscheduler.googleapis.com/",
   "schemas": {
     "AppEngineHttpTarget": {
@@ -540,14 +540,6 @@
           ],
           "type": "string"
         },
-        "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 be used when sending requests to a GCP\nendpoint."
-        },
-        "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 should be used when sending requests to third\nparty endpoints or Cloud Run."
-        },
         "uri": {
           "description": "Required.\n\nThe full URI path that the request will be sent to. This string\nmust begin with either \"http://\" or \"https://\". Some examples of\nvalid values for uri are:\n`http://acme.com` and `https://acme.com/sales:8080`. Cloud Scheduler will\nencode some characters for safety and compatibility. The maximum allowed\nURL length is 2083 characters after encoding.",
           "type": "string"
@@ -563,11 +555,6 @@
           "$ref": "AppEngineHttpTarget",
           "description": "App Engine HTTP target."
         },
-        "attemptDeadline": {
-          "description": "The deadline for job attempts. If the request handler does not respond by\nthis deadline then the request is cancelled and the attempt is marked as a\n`DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in\nexecution logs. Cloud Scheduler will retry the job according\nto the RetryConfig.\n\nThe allowed duration for this deadline is:\n* For HTTP targets, between 15 seconds and 30 minutes.\n* For App Engine HTTP targets, between 15\n  seconds and 24 hours.",
-          "format": "google-duration",
-          "type": "string"
-        },
         "description": {
           "description": "Optionally caller-specified in CreateJob or\nUpdateJob.\n\nA human-readable description for the job. This string must not contain\nmore than 500 characters.",
           "type": "string"
@@ -706,36 +693,6 @@
       },
       "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 be used when sending requests to a GCP\nendpoint.",
-      "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.",
-          "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 job. The caller\nmust 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). This\ntype of authorization should be used when sending requests to third party\nendpoints or Cloud Run.",
-      "id": "OidcToken",
-      "properties": {
-        "audience": {
-          "description": "Audience to be used when generating OIDC token. If not specified, the URI\nspecified 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 job. The caller\nmust have iam.serviceAccounts.actAs permission for the service account.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "PauseJobRequest": {
       "description": "Request message for PauseJob.",
       "id": "PauseJobRequest",
diff --git a/cloudscheduler/v1/cloudscheduler-gen.go b/cloudscheduler/v1/cloudscheduler-gen.go
index ba0758c..d6c1eb3 100644
--- a/cloudscheduler/v1/cloudscheduler-gen.go
+++ b/cloudscheduler/v1/cloudscheduler-gen.go
@@ -496,31 +496,6 @@
 	//   "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 be used when sending requests to a
-	// GCP
-	// endpoint.
-	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 should be used when sending requests to
-	// third
-	// party endpoints or Cloud Run.
-	OidcToken *OidcToken `json:"oidcToken,omitempty"`
-
 	// Uri: Required.
 	//
 	// The full URI path that the request will be sent to. This string
@@ -563,21 +538,6 @@
 	// AppEngineHttpTarget: App Engine HTTP target.
 	AppEngineHttpTarget *AppEngineHttpTarget `json:"appEngineHttpTarget,omitempty"`
 
-	// AttemptDeadline: The deadline for job attempts. If the request
-	// handler does not respond by
-	// this deadline then the request is cancelled and the attempt is marked
-	// as a
-	// `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed
-	// in
-	// execution logs. Cloud Scheduler will retry the job according
-	// to the RetryConfig.
-	//
-	// The allowed duration for this deadline is:
-	// * For HTTP targets, between 15 seconds and 30 minutes.
-	// * For App Engine HTTP targets, between 15
-	//   seconds and 24 hours.
-	AttemptDeadline string `json:"attemptDeadline,omitempty"`
-
 	// Description: Optionally caller-specified in CreateJob
 	// or
 	// UpdateJob.
@@ -859,97 +819,6 @@
 	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 be used when sending requests to a
-// GCP
-// endpoint.
-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 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 job. 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
-	// 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. "Scope") 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 *OAuthToken) MarshalJSON() ([]byte, error) {
-	type NoMethod OAuthToken
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// OidcToken: Contains information needed for generating an
-// [OpenID
-// Connect
-// token](https://developers.google.com/identity/protocols/OpenID
-// Connect). This
-// type of authorization should be used when sending requests to third
-// party
-// endpoints or Cloud Run.
-type OidcToken struct {
-	// Audience: Audience to be used when generating OIDC token. If not
-	// 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 job. 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
-	// 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. "Audience") 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 *OidcToken) MarshalJSON() ([]byte, error) {
-	type NoMethod OidcToken
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
 // PauseJobRequest: Request message for PauseJob.
 type PauseJobRequest struct {
 }
diff --git a/container/v1beta1/container-api.json b/container/v1beta1/container-api.json
index 82e91e0..2f7c6f6 100644
--- a/container/v1beta1/container-api.json
+++ b/container/v1beta1/container-api.json
@@ -377,10 +377,7 @@
                   "path": "v1beta1/{+parent}/jwks",
                   "response": {
                     "$ref": "GetJSONWebKeysResponse"
-                  },
-                  "scopes": [
-                    "https://www.googleapis.com/auth/cloud-platform"
-                  ]
+                  }
                 },
                 "list": {
                   "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
@@ -1079,10 +1076,7 @@
                       "path": "v1beta1/{+parent}/.well-known/openid-configuration",
                       "response": {
                         "$ref": "GetOpenIDConfigResponse"
-                      },
-                      "scopes": [
-                        "https://www.googleapis.com/auth/cloud-platform"
-                      ]
+                      }
                     }
                   }
                 }
@@ -2489,7 +2483,7 @@
       }
     }
   },
-  "revision": "20190411",
+  "revision": "20190418",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -2569,6 +2563,24 @@
       },
       "type": "object"
     },
+    "AutoprovisioningNodePoolDefaults": {
+      "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created\nby NAP.",
+      "id": "AutoprovisioningNodePoolDefaults",
+      "properties": {
+        "oauthScopes": {
+          "description": "Scopes that are used by NAP when creating node pools. If oauth_scopes are\nspecified, service_account should be empty.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "serviceAccount": {
+          "description": "The Google Cloud Platform Service Account to be used by the node VMs. If\nservice_account is specified, scopes should be empty.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "BigQueryDestination": {
       "description": "Parameters for using BigQuery as the destination of resource usage export.",
       "id": "BigQueryDestination",
@@ -2732,7 +2744,7 @@
           "type": "string"
         },
         "initialNodeCount": {
-          "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine \u003ca href=\"/compute/docs/resource-quotas\"\u003eresource quota\u003c/a\u003e\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.",
+          "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine \u003ca href=\"/compute/docs/resource-quotas\"\u003eresource quota\u003c/a\u003e\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.",
           "format": "int32",
           "type": "integer"
         },
@@ -2808,7 +2820,7 @@
         },
         "nodeConfig": {
           "$ref": "NodeConfig",
-          "description": "Parameters used in creating the cluster's nodes.\nSee `nodeConfig` for the description of its properties.\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.\n\nIf unspecified, the defaults are used."
+          "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."
         },
         "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.",
@@ -2902,6 +2914,10 @@
       "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.",
       "id": "ClusterAutoscaling",
       "properties": {
+        "autoprovisioningNodePoolDefaults": {
+          "$ref": "AutoprovisioningNodePoolDefaults",
+          "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool\ncreated by NAP."
+        },
         "enableNodeAutoprovisioning": {
           "description": "Enables automatic node pool creation and deletion.",
           "type": "boolean"
@@ -3792,6 +3808,11 @@
           "description": "The name of the node pool.",
           "type": "string"
         },
+        "podIpv4CidrSize": {
+          "description": "[Output only] The pod CIDR block size per node in this node pool.",
+          "format": "int32",
+          "type": "integer"
+        },
         "selfLink": {
           "description": "[Output only] Server-defined URL for the resource.",
           "type": "string"
diff --git a/container/v1beta1/container-gen.go b/container/v1beta1/container-gen.go
index e6e29a9..ebb8ce8 100644
--- a/container/v1beta1/container-gen.go
+++ b/container/v1beta1/container-gen.go
@@ -447,6 +447,43 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
+// contains defaults for a node pool created
+// by NAP.
+type AutoprovisioningNodePoolDefaults struct {
+	// OauthScopes: Scopes that are used by NAP when creating node pools. If
+	// oauth_scopes are
+	// specified, service_account should be empty.
+	OauthScopes []string `json:"oauthScopes,omitempty"`
+
+	// ServiceAccount: The Google Cloud Platform Service Account to be used
+	// by the node VMs. If
+	// service_account is specified, scopes should be empty.
+	ServiceAccount string `json:"serviceAccount,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "OauthScopes") 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. "OauthScopes") 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 *AutoprovisioningNodePoolDefaults) MarshalJSON() ([]byte, error) {
+	type NoMethod AutoprovisioningNodePoolDefaults
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // BigQueryDestination: Parameters for using BigQuery as the destination
 // of resource usage export.
 type BigQueryDestination struct {
@@ -778,6 +815,8 @@
 	// 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.
 	InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
 
 	// InstanceGroupUrls: Deprecated. Use node_pools.instance_group_urls.
@@ -882,7 +921,6 @@
 	NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
 
 	// NodeConfig: Parameters used in creating the cluster's nodes.
-	// See `nodeConfig` for the description of its properties.
 	// For requests, this field should only be used in lieu of a
 	// "node_pool" object, since this configuration (along with
 	// the
@@ -892,9 +930,12 @@
 	// time.
 	// For responses, this field will be populated with the node
 	// configuration of
-	// the first node pool.
+	// 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
@@ -1041,6 +1082,11 @@
 // the size of the cluster and create/delete
 // node pools based on the current needs.
 type ClusterAutoscaling struct {
+	// AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
+	// contains defaults for a node pool
+	// created by NAP.
+	AutoprovisioningNodePoolDefaults *AutoprovisioningNodePoolDefaults `json:"autoprovisioningNodePoolDefaults,omitempty"`
+
 	// EnableNodeAutoprovisioning: Enables automatic node pool creation and
 	// deletion.
 	EnableNodeAutoprovisioning bool `json:"enableNodeAutoprovisioning,omitempty"`
@@ -1051,7 +1097,7 @@
 	ResourceLimits []*ResourceLimit `json:"resourceLimits,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
-	// "EnableNodeAutoprovisioning") to unconditionally include in API
+	// "AutoprovisioningNodePoolDefaults") 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
@@ -1060,8 +1106,8 @@
 	ForceSendFields []string `json:"-"`
 
 	// NullFields is a list of field names (e.g.
-	// "EnableNodeAutoprovisioning") to include in API requests with the
-	// JSON null value. By default, fields with empty values are omitted
+	// "AutoprovisioningNodePoolDefaults") 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
@@ -2902,6 +2948,10 @@
 	// Name: The name of the node pool.
 	Name string `json:"name,omitempty"`
 
+	// PodIpv4CidrSize: [Output only] The pod CIDR block size per node in
+	// this node pool.
+	PodIpv4CidrSize int64 `json:"podIpv4CidrSize,omitempty"`
+
 	// SelfLink: [Output only] Server-defined URL for the resource.
 	SelfLink string `json:"selfLink,omitempty"`
 
@@ -6055,10 +6105,7 @@
 	//   "path": "v1beta1/{+parent}/jwks",
 	//   "response": {
 	//     "$ref": "GetJSONWebKeysResponse"
-	//   },
-	//   "scopes": [
-	//     "https://www.googleapis.com/auth/cloud-platform"
-	//   ]
+	//   }
 	// }
 
 }
@@ -9471,10 +9518,7 @@
 	//   "path": "v1beta1/{+parent}/.well-known/openid-configuration",
 	//   "response": {
 	//     "$ref": "GetOpenIDConfigResponse"
-	//   },
-	//   "scopes": [
-	//     "https://www.googleapis.com/auth/cloud-platform"
-	//   ]
+	//   }
 	// }
 
 }
diff --git a/dialogflow/v2/dialogflow-api.json b/dialogflow/v2/dialogflow-api.json
index af6958f..7a370d2 100644
--- a/dialogflow/v2/dialogflow-api.json
+++ b/dialogflow/v2/dialogflow-api.json
@@ -1303,7 +1303,7 @@
       }
     }
   },
-  "revision": "20190420",
+  "revision": "20190429",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowV2Agent": {
@@ -1805,10 +1805,10 @@
             "USE_ENHANCED"
           ],
           "enumDescriptions": [
-            "No model variant specified. In this case we default to USE_BEST_AVAILABLE.",
+            "No model variant specified. In this case Dialogflow defaults to\nUSE_BEST_AVAILABLE.",
             "Use the best available variant of the Speech\nmodel that the caller is eligible for.\n\nPlease see the [Dialogflow\ndocs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging) for\nhow to make your project eligible for enhanced models.",
             "Use standard model variant even if an enhanced model is available.  See the\n[Cloud Speech\ndocumentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)\nfor details about enhanced models.",
-            "Use an enhanced model variant:\n\n* If an enhanced variant does not exist for the given\n  model and request language, we fall back to the\n  standard variant.\n\n  The [Cloud Speech\n  documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)\n  describes which models have enhanced variants.\n\n* If the API caller isn't eligible for enhanced models, we return an error.\n  Please see the [Dialogflow\n  docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging)\n  for how to make your project eligible."
+            "Use an enhanced model variant:\n\n* If an enhanced variant does not exist for the given\n  model and request language, Dialogflow falls\n  back to the standard variant.\n\n  The [Cloud Speech\n  documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)\n  describes which models have enhanced variants.\n\n* If the API caller isn't eligible for enhanced models, Dialogflow returns\n  an error. Please see the [Dialogflow\n  docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging)\n  for how to make your project eligible."
           ],
           "type": "string"
         },
@@ -2584,7 +2584,7 @@
       "type": "object"
     },
     "GoogleCloudDialogflowV2OutputAudioConfig": {
-      "description": "Instructs the speech synthesizer how to generate the output audio content.",
+      "description": "Instructs the speech synthesizer on how to generate the output audio content.",
       "id": "GoogleCloudDialogflowV2OutputAudioConfig",
       "properties": {
         "audioEncoding": {
diff --git a/dialogflow/v2/dialogflow-gen.go b/dialogflow/v2/dialogflow-gen.go
index c865009..8ee9f57 100644
--- a/dialogflow/v2/dialogflow-gen.go
+++ b/dialogflow/v2/dialogflow-gen.go
@@ -1317,7 +1317,8 @@
 	//
 	// Possible values:
 	//   "SPEECH_MODEL_VARIANT_UNSPECIFIED" - No model variant specified. In
-	// this case we default to USE_BEST_AVAILABLE.
+	// this case Dialogflow defaults to
+	// USE_BEST_AVAILABLE.
 	//   "USE_BEST_AVAILABLE" - Use the best available variant of the
 	// Speech
 	// model that the caller is eligible for.
@@ -1337,8 +1338,8 @@
 	//   "USE_ENHANCED" - Use an enhanced model variant:
 	//
 	// * If an enhanced variant does not exist for the given
-	//   model and request language, we fall back to the
-	//   standard variant.
+	//   model and request language, Dialogflow falls
+	//   back to the standard variant.
 	//
 	//   The [Cloud Speech
 	//
@@ -1346,9 +1347,9 @@
 	// odels)
 	//   describes which models have enhanced variants.
 	//
-	// * If the API caller isn't eligible for enhanced models, we return an
-	// error.
-	//   Please see the [Dialogflow
+	// * If the API caller isn't eligible for enhanced models, Dialogflow
+	// returns
+	//   an error. Please see the [Dialogflow
 	//
 	// docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging
 	// )
@@ -2885,7 +2886,7 @@
 }
 
 // GoogleCloudDialogflowV2OutputAudioConfig: Instructs the speech
-// synthesizer how to generate the output audio content.
+// synthesizer on how to generate the output audio content.
 type GoogleCloudDialogflowV2OutputAudioConfig struct {
 	// AudioEncoding: Required. Audio encoding of the synthesized audio
 	// content.
diff --git a/dialogflow/v2beta1/dialogflow-api.json b/dialogflow/v2beta1/dialogflow-api.json
index 50e54c6..27dfc05 100644
--- a/dialogflow/v2beta1/dialogflow-api.json
+++ b/dialogflow/v2beta1/dialogflow-api.json
@@ -2386,7 +2386,7 @@
       }
     }
   },
-  "revision": "20190420",
+  "revision": "20190429",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse": {
@@ -3910,7 +3910,7 @@
       "type": "object"
     },
     "GoogleCloudDialogflowV2beta1InputAudioConfig": {
-      "description": "Instructs the speech recognizer how to process the audio content.",
+      "description": "Instructs the speech recognizer on how to process the audio content.",
       "id": "GoogleCloudDialogflowV2beta1InputAudioConfig",
       "properties": {
         "audioEncoding": {
@@ -3954,10 +3954,10 @@
             "USE_ENHANCED"
           ],
           "enumDescriptions": [
-            "No model variant specified. In this case we default to USE_BEST_AVAILABLE.",
+            "No model variant specified. In this case Dialogflow defaults to\nUSE_BEST_AVAILABLE.",
             "Use the best available variant of the Speech\nmodel that the caller is eligible for.\n\nPlease see the [Dialogflow\ndocs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging) for\nhow to make your project eligible for enhanced models.",
             "Use standard model variant even if an enhanced model is available.  See the\n[Cloud Speech\ndocumentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)\nfor details about enhanced models.",
-            "Use an enhanced model variant:\n\n* If an enhanced variant does not exist for the given\n  model and request language, we fall back to the\n  standard variant.\n\n  The [Cloud Speech\n  documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)\n  describes which models have enhanced variants.\n\n* If the API caller isn't eligible for enhanced models, we return an error.\n  Please see the [Dialogflow\n  docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging)\n  for how to make your project eligible."
+            "Use an enhanced model variant:\n\n* If an enhanced variant does not exist for the given\n  model and request language, Dialogflow falls\n  back to the standard variant.\n\n  The [Cloud Speech\n  documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)\n  describes which models have enhanced variants.\n\n* If the API caller isn't eligible for enhanced models, Dialogflow returns\n  an error.  Please see the [Dialogflow\n  docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging)\n  for how to make your project eligible."
           ],
           "type": "string"
         },
diff --git a/dialogflow/v2beta1/dialogflow-gen.go b/dialogflow/v2beta1/dialogflow-gen.go
index c5968ac..04c9acb 100644
--- a/dialogflow/v2beta1/dialogflow-gen.go
+++ b/dialogflow/v2beta1/dialogflow-gen.go
@@ -3480,7 +3480,7 @@
 }
 
 // GoogleCloudDialogflowV2beta1InputAudioConfig: Instructs the speech
-// recognizer how to process the audio content.
+// recognizer on how to process the audio content.
 type GoogleCloudDialogflowV2beta1InputAudioConfig struct {
 	// AudioEncoding: Required. Audio encoding of the audio content to
 	// process.
@@ -3572,7 +3572,8 @@
 	//
 	// Possible values:
 	//   "SPEECH_MODEL_VARIANT_UNSPECIFIED" - No model variant specified. In
-	// this case we default to USE_BEST_AVAILABLE.
+	// this case Dialogflow defaults to
+	// USE_BEST_AVAILABLE.
 	//   "USE_BEST_AVAILABLE" - Use the best available variant of the
 	// Speech
 	// model that the caller is eligible for.
@@ -3592,8 +3593,8 @@
 	//   "USE_ENHANCED" - Use an enhanced model variant:
 	//
 	// * If an enhanced variant does not exist for the given
-	//   model and request language, we fall back to the
-	//   standard variant.
+	//   model and request language, Dialogflow falls
+	//   back to the standard variant.
 	//
 	//   The [Cloud Speech
 	//
@@ -3601,9 +3602,9 @@
 	// odels)
 	//   describes which models have enhanced variants.
 	//
-	// * If the API caller isn't eligible for enhanced models, we return an
-	// error.
-	//   Please see the [Dialogflow
+	// * If the API caller isn't eligible for enhanced models, Dialogflow
+	// returns
+	//   an error.  Please see the [Dialogflow
 	//
 	// docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging
 	// )
diff --git a/digitalassetlinks/v1/digitalassetlinks-api.json b/digitalassetlinks/v1/digitalassetlinks-api.json
index a499f40..514364c 100644
--- a/digitalassetlinks/v1/digitalassetlinks-api.json
+++ b/digitalassetlinks/v1/digitalassetlinks-api.json
@@ -96,7 +96,7 @@
     "assetlinks": {
       "methods": {
         "check": {
-          "description": "Determines whether the specified (directional) relationship exists between\nthe specified source and target assets.\n\nThe relation describes the intent of the link between the two assets as\nclaimed by the source asset.  An example for such relationships is the\ndelegation of privileges or permissions.\n\nThis command is most often used by infrastructure systems to check\npreconditions for an action.  For example, a client may want to know if it\nis OK to send a web URL to a particular mobile app instead. The client can\ncheck for the relevant asset link from the website to the mobile app to\ndecide if the operation should be allowed.\n\nA note about security: if you specify a secure asset as the source, such as\nan HTTPS website or an Android app, the API will ensure that any\nstatements used to generate the response have been made in a secure way by\nthe owner of that asset.  Conversely, if the source asset is an insecure\nHTTP website (that is, the URL starts with `http://` instead of `https://`),\nthe API cannot verify its statements securely, and it is not possible to\nensure that the website's statements have not been altered by a third\nparty.  For more information, see the [Digital Asset Links technical design\nspecification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).",
+          "description": "Determines whether the specified (directional) relationship exists between\nthe specified source and target assets.\n\nThe relation describes the intent of the link between the two assets as\nclaimed by the source asset.  An example for such relationships is the\ndelegation of privileges or permissions.\n\nThis command is most often used by infrastructure systems to check\npreconditions for an action.  For example, a client may want to know if it\nis OK to send a web URL to a particular mobile app instead. The client can\ncheck for the relevant asset link from the website to the mobile app to\ndecide if the operation should be allowed.\n\nA note about security: if you specify a secure asset as the source, such as\nan HTTPS website or an Android app, the API will ensure that any\nstatements used to generate the response have been made in a secure way by\nthe owner of that asset.  Conversely, if the source asset is an insecure\nHTTP website (that is, the URL starts with `http://` instead of\n`https://`), the API cannot verify its statements securely, and it is not\npossible to ensure that the website's statements have not been altered by a\nthird party.  For more information, see the [Digital Asset Links technical\ndesign\nspecification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).",
           "flatPath": "v1/assetlinks:check",
           "httpMethod": "GET",
           "id": "digitalassetlinks.assetlinks.check",
@@ -183,7 +183,7 @@
       }
     }
   },
-  "revision": "20181103",
+  "revision": "20190429",
   "rootUrl": "https://digitalassetlinks.googleapis.com/",
   "schemas": {
     "AndroidAppAsset": {
diff --git a/digitalassetlinks/v1/digitalassetlinks-gen.go b/digitalassetlinks/v1/digitalassetlinks-gen.go
index 4e7bb4d..7bda481 100644
--- a/digitalassetlinks/v1/digitalassetlinks-gen.go
+++ b/digitalassetlinks/v1/digitalassetlinks-gen.go
@@ -619,16 +619,17 @@
 // way by
 // the owner of that asset.  Conversely, if the source asset is an
 // insecure
-// HTTP website (that is, the URL starts with `http://` instead of
-// `https://`),
-// the API cannot verify its statements securely, and it is not possible
-// to
-// ensure that the website's statements have not been altered by a
-// third
-// party.  For more information, see the [Digital Asset Links technical
+// HTTP website (that is, the URL starts with `http://` instead
+// of
+// `https://`), the API cannot verify its statements securely, and it is
+// not
+// possible to ensure that the website's statements have not been
+// altered by a
+// third party.  For more information, see the [Digital Asset Links
+// technical
 // design
-// specification](https://github.com/google/digitalassetlinks/blob
-// /master/well-known/details.md).
+// specification](https://github.com/google/digitalasset
+// links/blob/master/well-known/details.md).
 func (r *AssetlinksService) Check() *AssetlinksCheckCall {
 	c := &AssetlinksCheckCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	return c
@@ -942,7 +943,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Determines whether the specified (directional) relationship exists between\nthe specified source and target assets.\n\nThe relation describes the intent of the link between the two assets as\nclaimed by the source asset.  An example for such relationships is the\ndelegation of privileges or permissions.\n\nThis command is most often used by infrastructure systems to check\npreconditions for an action.  For example, a client may want to know if it\nis OK to send a web URL to a particular mobile app instead. The client can\ncheck for the relevant asset link from the website to the mobile app to\ndecide if the operation should be allowed.\n\nA note about security: if you specify a secure asset as the source, such as\nan HTTPS website or an Android app, the API will ensure that any\nstatements used to generate the response have been made in a secure way by\nthe owner of that asset.  Conversely, if the source asset is an insecure\nHTTP website (that is, the URL starts with `http://` instead of `https://`),\nthe API cannot verify its statements securely, and it is not possible to\nensure that the website's statements have not been altered by a third\nparty.  For more information, see the [Digital Asset Links technical design\nspecification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).",
+	//   "description": "Determines whether the specified (directional) relationship exists between\nthe specified source and target assets.\n\nThe relation describes the intent of the link between the two assets as\nclaimed by the source asset.  An example for such relationships is the\ndelegation of privileges or permissions.\n\nThis command is most often used by infrastructure systems to check\npreconditions for an action.  For example, a client may want to know if it\nis OK to send a web URL to a particular mobile app instead. The client can\ncheck for the relevant asset link from the website to the mobile app to\ndecide if the operation should be allowed.\n\nA note about security: if you specify a secure asset as the source, such as\nan HTTPS website or an Android app, the API will ensure that any\nstatements used to generate the response have been made in a secure way by\nthe owner of that asset.  Conversely, if the source asset is an insecure\nHTTP website (that is, the URL starts with `http://` instead of\n`https://`), the API cannot verify its statements securely, and it is not\npossible to ensure that the website's statements have not been altered by a\nthird party.  For more information, see the [Digital Asset Links technical\ndesign\nspecification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).",
 	//   "flatPath": "v1/assetlinks:check",
 	//   "httpMethod": "GET",
 	//   "id": "digitalassetlinks.assetlinks.check",
diff --git a/dns/v2beta1/dns-api.json b/dns/v2beta1/dns-api.json
index 5a74d9e..58b1aa9 100644
--- a/dns/v2beta1/dns-api.json
+++ b/dns/v2beta1/dns-api.json
@@ -18,12 +18,12 @@
     }
   },
   "basePath": "/dns/v2beta1/projects/",
-  "baseUrl": "https://www.googleapis.com/dns/v2beta1/projects/",
+  "baseUrl": "https://dns.googleapis.com/dns/v2beta1/projects/",
   "batchPath": "batch/dns/v2beta1",
   "description": "Configures and serves authoritative DNS records.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/cloud-dns",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/z1LqFcwLiODb9dqHQykqHkMGJ5A\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/4ABTsLSkbq4OHuGpz9x2CkaFpsw\"",
   "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"
@@ -760,8 +760,8 @@
       }
     }
   },
-  "revision": "20190418",
-  "rootUrl": "https://www.googleapis.com/",
+  "revision": "20190425",
+  "rootUrl": "https://dns.googleapis.com/",
   "schemas": {
     "Change": {
       "description": "A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.",
diff --git a/dns/v2beta1/dns-gen.go b/dns/v2beta1/dns-gen.go
index dd9fe2f..2e7b86e 100644
--- a/dns/v2beta1/dns-gen.go
+++ b/dns/v2beta1/dns-gen.go
@@ -76,7 +76,7 @@
 const apiId = "dns:v2beta1"
 const apiName = "dns"
 const apiVersion = "v2beta1"
-const basePath = "https://www.googleapis.com/dns/v2beta1/projects/"
+const basePath = "https://dns.googleapis.com/dns/v2beta1/projects/"
 
 // OAuth2 scopes used by this API.
 const (
diff --git a/drive/v2/drive-api.json b/drive/v2/drive-api.json
index e7ff169..10aa595 100644
--- a/drive/v2/drive-api.json
+++ b/drive/v2/drive-api.json
@@ -38,7 +38,7 @@
   "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/drive/",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/hsVC9ZXMn4MD97V8ehCW4FF2Fws\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/sPg4ftiBD1CFuyJFjn6aWg4p7EE\"",
   "icons": {
     "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
     "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
@@ -225,7 +225,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -268,7 +268,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -323,7 +323,7 @@
             },
             "includeItemsFromAllDrives": {
               "default": "false",
-              "description": "Whether both My Drive and shared drive items should be included in results.",
+              "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
               "location": "query",
               "type": "boolean"
             },
@@ -365,7 +365,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -421,7 +421,7 @@
             },
             "includeItemsFromAllDrives": {
               "default": "false",
-              "description": "Whether both My Drive and shared drive items should be included in results.",
+              "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
               "location": "query",
               "type": "boolean"
             },
@@ -463,7 +463,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -607,7 +607,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1139,7 +1139,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1205,7 +1205,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1333,7 +1333,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1413,7 +1413,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1500,7 +1500,7 @@
             },
             "includeItemsFromAllDrives": {
               "default": "false",
-              "description": "Whether both My Drive and shared drive items should be included in results.",
+              "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
               "location": "query",
               "type": "boolean"
             },
@@ -1553,7 +1553,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1666,7 +1666,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1731,7 +1731,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1770,7 +1770,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1808,7 +1808,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1928,7 +1928,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2018,7 +2018,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2140,7 +2140,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2220,7 +2220,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2266,7 +2266,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2353,7 +2353,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2411,7 +2411,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2470,7 +2470,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2534,7 +2534,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -3459,7 +3459,7 @@
       }
     }
   },
-  "revision": "20190416",
+  "revision": "20190501",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
@@ -3705,15 +3705,15 @@
           "items": {
             "properties": {
               "backgroundImageLink": {
-                "description": "A link to this Team Drive theme's background image.",
+                "description": "Deprecated - use driveThemes/backgroundImageLink instead.",
                 "type": "string"
               },
               "colorRgb": {
-                "description": "The color of this Team Drive theme as an RGB hex string.",
+                "description": "Deprecated - use driveThemes/colorRgb instead.",
                 "type": "string"
               },
               "id": {
-                "description": "The ID of the theme.",
+                "description": "Deprecated - use driveThemes/id instead.",
                 "type": "string"
               }
             },
@@ -5352,26 +5352,26 @@
           "items": {
             "properties": {
               "additionalRoles": {
-                "description": "Additional roles for this user. Only commenter is currently possible, though more may be supported in the future.",
+                "description": "Deprecated - use permissionDetails/additionalRoles instead.",
                 "items": {
                   "type": "string"
                 },
                 "type": "array"
               },
               "inherited": {
-                "description": "Whether this permission is inherited. This field is always populated. This is an output-only field.",
+                "description": "Deprecated - use permissionDetails/inherited instead.",
                 "type": "boolean"
               },
               "inheritedFrom": {
-                "description": "The ID of the item from which this permission is inherited. This is an output-only field and is only populated for members of the Team Drive.",
+                "description": "Deprecated - use permissionDetails/inheritedFrom instead.",
                 "type": "string"
               },
               "role": {
-                "description": "The primary role for this user. While new values may be added in the future, the following are currently possible:  \n- organizer \n- fileOrganizer \n- writer \n- reader",
+                "description": "Deprecated - use permissionDetails/role instead.",
                 "type": "string"
               },
               "teamDrivePermissionType": {
-                "description": "The Team Drive permission type for this user. While new values may be added in future, the following are currently possible:  \n- file \n- member",
+                "description": "Deprecated - use permissionDetails/permissionType instead.",
                 "type": "string"
               }
             },
@@ -5643,7 +5643,7 @@
       "type": "object"
     },
     "TeamDrive": {
-      "description": "Representation of a Team Drive.",
+      "description": "Deprecated: use the drive collection instead.",
       "id": "TeamDrive",
       "properties": {
         "backgroundImageFile": {
diff --git a/drive/v2/drive-gen.go b/drive/v2/drive-gen.go
index 3225e7b..02a40f4 100644
--- a/drive/v2/drive-gen.go
+++ b/drive/v2/drive-gen.go
@@ -739,14 +739,14 @@
 }
 
 type AboutTeamDriveThemes struct {
-	// BackgroundImageLink: A link to this Team Drive theme's background
-	// image.
+	// BackgroundImageLink: Deprecated - use driveThemes/backgroundImageLink
+	// instead.
 	BackgroundImageLink string `json:"backgroundImageLink,omitempty"`
 
-	// ColorRgb: The color of this Team Drive theme as an RGB hex string.
+	// ColorRgb: Deprecated - use driveThemes/colorRgb instead.
 	ColorRgb string `json:"colorRgb,omitempty"`
 
-	// Id: The ID of the theme.
+	// Id: Deprecated - use driveThemes/id instead.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BackgroundImageLink")
@@ -3013,32 +3013,22 @@
 }
 
 type PermissionTeamDrivePermissionDetails struct {
-	// AdditionalRoles: Additional roles for this user. Only commenter is
-	// currently possible, though more may be supported in the future.
+	// AdditionalRoles: Deprecated - use permissionDetails/additionalRoles
+	// instead.
 	AdditionalRoles []string `json:"additionalRoles,omitempty"`
 
-	// Inherited: Whether this permission is inherited. This field is always
-	// populated. This is an output-only field.
+	// Inherited: Deprecated - use permissionDetails/inherited instead.
 	Inherited bool `json:"inherited,omitempty"`
 
-	// InheritedFrom: The ID of the item from which this permission is
-	// inherited. This is an output-only field and is only populated for
-	// members of the Team Drive.
+	// InheritedFrom: Deprecated - use permissionDetails/inheritedFrom
+	// instead.
 	InheritedFrom string `json:"inheritedFrom,omitempty"`
 
-	// Role: The primary role for this user. While new values may be added
-	// in the future, the following are currently possible:
-	// - organizer
-	// - fileOrganizer
-	// - writer
-	// - reader
+	// Role: Deprecated - use permissionDetails/role instead.
 	Role string `json:"role,omitempty"`
 
-	// TeamDrivePermissionType: The Team Drive permission type for this
-	// user. While new values may be added in future, the following are
-	// currently possible:
-	// - file
-	// - member
+	// TeamDrivePermissionType: Deprecated - use
+	// permissionDetails/permissionType instead.
 	TeamDrivePermissionType string `json:"teamDrivePermissionType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AdditionalRoles") to
@@ -3428,7 +3418,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TeamDrive: Representation of a Team Drive.
+// TeamDrive: Deprecated: use the drive collection instead.
 type TeamDrive struct {
 	// BackgroundImageFile: An image file and cropping parameters from which
 	// a background image for this Team Drive is set. This is a write only
@@ -4363,8 +4353,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChangesGetCall) SupportsAllDrives(supportsAllDrives bool) *ChangesGetCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -4502,7 +4494,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -4562,8 +4554,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChangesGetStartPageTokenCall) SupportsAllDrives(supportsAllDrives bool) *ChangesGetStartPageTokenCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -4689,7 +4683,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -4767,8 +4761,10 @@
 }
 
 // IncludeItemsFromAllDrives sets the optional parameter
-// "includeItemsFromAllDrives": Whether both My Drive and shared drive
-// items should be included in results.
+// "includeItemsFromAllDrives": Deprecated - Whether both My Drive and
+// shared drive items should be included in results. This parameter will
+// only be effective until June 1, 2020. Afterwards shared drive items
+// will be included in the results.
 func (c *ChangesListCall) IncludeItemsFromAllDrives(includeItemsFromAllDrives bool) *ChangesListCall {
 	c.urlParams_.Set("includeItemsFromAllDrives", fmt.Sprint(includeItemsFromAllDrives))
 	return c
@@ -4824,8 +4820,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChangesListCall) SupportsAllDrives(supportsAllDrives bool) *ChangesListCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -4963,7 +4961,7 @@
 	//     },
 	//     "includeItemsFromAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether both My Drive and shared drive items should be included in results.",
+	//       "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5005,7 +5003,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5106,8 +5104,10 @@
 }
 
 // IncludeItemsFromAllDrives sets the optional parameter
-// "includeItemsFromAllDrives": Whether both My Drive and shared drive
-// items should be included in results.
+// "includeItemsFromAllDrives": Deprecated - Whether both My Drive and
+// shared drive items should be included in results. This parameter will
+// only be effective until June 1, 2020. Afterwards shared drive items
+// will be included in the results.
 func (c *ChangesWatchCall) IncludeItemsFromAllDrives(includeItemsFromAllDrives bool) *ChangesWatchCall {
 	c.urlParams_.Set("includeItemsFromAllDrives", fmt.Sprint(includeItemsFromAllDrives))
 	return c
@@ -5163,8 +5163,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChangesWatchCall) SupportsAllDrives(supportsAllDrives bool) *ChangesWatchCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -5294,7 +5296,7 @@
 	//     },
 	//     "includeItemsFromAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether both My Drive and shared drive items should be included in results.",
+	//       "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5336,7 +5338,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5763,8 +5765,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChildrenInsertCall) SupportsAllDrives(supportsAllDrives bool) *ChildrenInsertCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -5882,7 +5886,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -8117,8 +8121,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesCopyCall) SupportsAllDrives(supportsAllDrives bool) *FilesCopyCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -8286,7 +8292,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -8359,8 +8365,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesDeleteCall) SupportsAllDrives(supportsAllDrives bool) *FilesDeleteCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -8448,7 +8456,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -8900,8 +8908,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesGetCall) SupportsAllDrives(supportsAllDrives bool) *FilesGetCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -9075,7 +9085,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -9160,8 +9170,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesInsertCall) SupportsAllDrives(supportsAllDrives bool) *FilesInsertCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -9407,7 +9419,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -9512,8 +9524,10 @@
 }
 
 // IncludeItemsFromAllDrives sets the optional parameter
-// "includeItemsFromAllDrives": Whether both My Drive and shared drive
-// items should be included in results.
+// "includeItemsFromAllDrives": Deprecated - Whether both My Drive and
+// shared drive items should be included in results. This parameter will
+// only be effective until June 1, 2020. Afterwards shared drive items
+// will be included in the results.
 func (c *FilesListCall) IncludeItemsFromAllDrives(includeItemsFromAllDrives bool) *FilesListCall {
 	c.urlParams_.Set("includeItemsFromAllDrives", fmt.Sprint(includeItemsFromAllDrives))
 	return c
@@ -9582,8 +9596,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesListCall) SupportsAllDrives(supportsAllDrives bool) *FilesListCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -9727,7 +9743,7 @@
 	//     },
 	//     "includeItemsFromAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether both My Drive and shared drive items should be included in results.",
+	//       "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -9780,7 +9796,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -9942,8 +9958,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesPatchCall) SupportsAllDrives(supportsAllDrives bool) *FilesPatchCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -10156,7 +10174,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -10226,8 +10244,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesTouchCall) SupportsAllDrives(supportsAllDrives bool) *FilesTouchCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -10340,7 +10360,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -10386,8 +10406,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesTrashCall) SupportsAllDrives(supportsAllDrives bool) *FilesTrashCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -10500,7 +10522,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -10543,8 +10565,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesUntrashCall) SupportsAllDrives(supportsAllDrives bool) *FilesUntrashCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -10657,7 +10681,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -10789,8 +10813,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesUpdateCall) SupportsAllDrives(supportsAllDrives bool) *FilesUpdateCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -11086,7 +11112,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -11186,8 +11212,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesWatchCall) SupportsAllDrives(supportsAllDrives bool) *FilesWatchCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -11353,7 +11381,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -11681,8 +11709,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ParentsInsertCall) SupportsAllDrives(supportsAllDrives bool) *ParentsInsertCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -11800,7 +11830,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -11994,8 +12024,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsDeleteCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsDeleteCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -12101,7 +12133,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -12148,8 +12180,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsGetCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsGetCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -12293,7 +12327,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -12510,8 +12544,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsInsertCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsInsertCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -12650,7 +12686,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -12719,8 +12755,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsListCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsListCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -12869,7 +12907,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -12952,8 +12990,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsPatchCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsPatchCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -13103,7 +13143,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -13170,8 +13210,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsUpdateCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsUpdateCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -13321,7 +13363,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
diff --git a/drive/v3/drive-api.json b/drive/v3/drive-api.json
index 93e4c38..18d1f5d 100644
--- a/drive/v3/drive-api.json
+++ b/drive/v3/drive-api.json
@@ -35,7 +35,7 @@
   "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/drive/",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/44jf_Jy6fJ0dQtd23H1h52MzqIM\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/Ny-TVwqAdVT7qdK4m-UVr51SKyw\"",
   "icons": {
     "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
     "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
@@ -128,7 +128,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -179,7 +179,7 @@
             },
             "includeItemsFromAllDrives": {
               "default": "false",
-              "description": "Whether both My Drive and shared drive items should be included in results.",
+              "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
               "location": "query",
               "type": "boolean"
             },
@@ -224,7 +224,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -276,7 +276,7 @@
             },
             "includeItemsFromAllDrives": {
               "default": "false",
-              "description": "Whether both My Drive and shared drive items should be included in results.",
+              "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
               "location": "query",
               "type": "boolean"
             },
@@ -321,7 +321,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -795,7 +795,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -860,7 +860,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -908,7 +908,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1018,7 +1018,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1076,7 +1076,7 @@
             },
             "includeItemsFromAllDrives": {
               "default": "false",
-              "description": "Whether both My Drive and shared drive items should be included in results.",
+              "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
               "location": "query",
               "type": "boolean"
             },
@@ -1118,7 +1118,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1201,7 +1201,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1256,7 +1256,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1318,7 +1318,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1376,7 +1376,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1422,7 +1422,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1481,7 +1481,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -1540,7 +1540,7 @@
             },
             "supportsAllDrives": {
               "default": "false",
-              "description": "Whether the requesting application supports both My Drives and shared drives.",
+              "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
               "location": "query",
               "type": "boolean"
             },
@@ -2096,7 +2096,7 @@
       }
     }
   },
-  "revision": "20190416",
+  "revision": "20190501",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
@@ -2212,15 +2212,15 @@
           "items": {
             "properties": {
               "backgroundImageLink": {
-                "description": "A link to this Team Drive theme's background image.",
+                "description": "Deprecated - use driveThemes/backgroundImageLink instead.",
                 "type": "string"
               },
               "colorRgb": {
-                "description": "The color of this Team Drive theme as an RGB hex string.",
+                "description": "Deprecated - use driveThemes/colorRgb instead.",
                 "type": "string"
               },
               "id": {
-                "description": "The ID of the theme.",
+                "description": "Deprecated - use driveThemes/id instead.",
                 "type": "string"
               }
             },
@@ -3320,19 +3320,19 @@
           "items": {
             "properties": {
               "inherited": {
-                "description": "Whether this permission is inherited. This field is always populated. This is an output-only field.",
+                "description": "Deprecated - use permissionDetails/inherited instead.",
                 "type": "boolean"
               },
               "inheritedFrom": {
-                "description": "The ID of the item from which this permission is inherited. This is an output-only field and is only populated for members of the Team Drive.",
+                "description": "Deprecated - use permissionDetails/inheritedFrom instead.",
                 "type": "string"
               },
               "role": {
-                "description": "The primary role for this user. While new values may be added in the future, the following are currently possible:  \n- organizer \n- fileOrganizer \n- writer \n- commenter \n- reader",
+                "description": "Deprecated - use permissionDetails/role instead.",
                 "type": "string"
               },
               "teamDrivePermissionType": {
-                "description": "The Team Drive permission type for this user. While new values may be added in future, the following are currently possible:  \n- file \n- member",
+                "description": "Deprecated - use permissionDetails/permissionType instead.",
                 "type": "string"
               }
             },
@@ -3554,7 +3554,7 @@
       "type": "object"
     },
     "TeamDrive": {
-      "description": "Representation of a Team Drive.",
+      "description": "Deprecated: use the drive collection instead.",
       "id": "TeamDrive",
       "properties": {
         "backgroundImageFile": {
diff --git a/drive/v3/drive-gen.go b/drive/v3/drive-gen.go
index ee50f5e..1cf8ad6 100644
--- a/drive/v3/drive-gen.go
+++ b/drive/v3/drive-gen.go
@@ -428,14 +428,14 @@
 }
 
 type AboutTeamDriveThemes struct {
-	// BackgroundImageLink: A link to this Team Drive theme's background
-	// image.
+	// BackgroundImageLink: Deprecated - use driveThemes/backgroundImageLink
+	// instead.
 	BackgroundImageLink string `json:"backgroundImageLink,omitempty"`
 
-	// ColorRgb: The color of this Team Drive theme as an RGB hex string.
+	// ColorRgb: Deprecated - use driveThemes/colorRgb instead.
 	ColorRgb string `json:"colorRgb,omitempty"`
 
-	// Id: The ID of the theme.
+	// Id: Deprecated - use driveThemes/id instead.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BackgroundImageLink")
@@ -2069,29 +2069,18 @@
 }
 
 type PermissionTeamDrivePermissionDetails struct {
-	// Inherited: Whether this permission is inherited. This field is always
-	// populated. This is an output-only field.
+	// Inherited: Deprecated - use permissionDetails/inherited instead.
 	Inherited bool `json:"inherited,omitempty"`
 
-	// InheritedFrom: The ID of the item from which this permission is
-	// inherited. This is an output-only field and is only populated for
-	// members of the Team Drive.
+	// InheritedFrom: Deprecated - use permissionDetails/inheritedFrom
+	// instead.
 	InheritedFrom string `json:"inheritedFrom,omitempty"`
 
-	// Role: The primary role for this user. While new values may be added
-	// in the future, the following are currently possible:
-	// - organizer
-	// - fileOrganizer
-	// - writer
-	// - commenter
-	// - reader
+	// Role: Deprecated - use permissionDetails/role instead.
 	Role string `json:"role,omitempty"`
 
-	// TeamDrivePermissionType: The Team Drive permission type for this
-	// user. While new values may be added in future, the following are
-	// currently possible:
-	// - file
-	// - member
+	// TeamDrivePermissionType: Deprecated - use
+	// permissionDetails/permissionType instead.
 	TeamDrivePermissionType string `json:"teamDrivePermissionType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Inherited") to
@@ -2430,7 +2419,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TeamDrive: Representation of a Team Drive.
+// TeamDrive: Deprecated: use the drive collection instead.
 type TeamDrive struct {
 	// BackgroundImageFile: An image file and cropping parameters from which
 	// a background image for this Team Drive is set. This is a write only
@@ -2978,8 +2967,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChangesGetStartPageTokenCall) SupportsAllDrives(supportsAllDrives bool) *ChangesGetStartPageTokenCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -3105,7 +3096,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -3175,8 +3166,10 @@
 }
 
 // IncludeItemsFromAllDrives sets the optional parameter
-// "includeItemsFromAllDrives": Whether both My Drive and shared drive
-// items should be included in results.
+// "includeItemsFromAllDrives": Deprecated - Whether both My Drive and
+// shared drive items should be included in results. This parameter will
+// only be effective until June 1, 2020. Afterwards shared drive items
+// will be included in the results.
 func (c *ChangesListCall) IncludeItemsFromAllDrives(includeItemsFromAllDrives bool) *ChangesListCall {
 	c.urlParams_.Set("includeItemsFromAllDrives", fmt.Sprint(includeItemsFromAllDrives))
 	return c
@@ -3224,8 +3217,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChangesListCall) SupportsAllDrives(supportsAllDrives bool) *ChangesListCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -3360,7 +3355,7 @@
 	//     },
 	//     "includeItemsFromAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether both My Drive and shared drive items should be included in results.",
+	//       "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -3405,7 +3400,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -3477,8 +3472,10 @@
 }
 
 // IncludeItemsFromAllDrives sets the optional parameter
-// "includeItemsFromAllDrives": Whether both My Drive and shared drive
-// items should be included in results.
+// "includeItemsFromAllDrives": Deprecated - Whether both My Drive and
+// shared drive items should be included in results. This parameter will
+// only be effective until June 1, 2020. Afterwards shared drive items
+// will be included in the results.
 func (c *ChangesWatchCall) IncludeItemsFromAllDrives(includeItemsFromAllDrives bool) *ChangesWatchCall {
 	c.urlParams_.Set("includeItemsFromAllDrives", fmt.Sprint(includeItemsFromAllDrives))
 	return c
@@ -3526,8 +3523,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *ChangesWatchCall) SupportsAllDrives(supportsAllDrives bool) *ChangesWatchCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -3654,7 +3653,7 @@
 	//     },
 	//     "includeItemsFromAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether both My Drive and shared drive items should be included in results.",
+	//       "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -3699,7 +3698,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5668,8 +5667,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesCopyCall) SupportsAllDrives(supportsAllDrives bool) *FilesCopyCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -5804,7 +5805,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5878,8 +5879,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesCreateCall) SupportsAllDrives(supportsAllDrives bool) *FilesCreateCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -6093,7 +6096,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -6149,8 +6152,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesDeleteCall) SupportsAllDrives(supportsAllDrives bool) *FilesDeleteCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -6238,7 +6243,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -6672,8 +6677,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesGetCall) SupportsAllDrives(supportsAllDrives bool) *FilesGetCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -6821,7 +6828,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -6896,8 +6903,10 @@
 }
 
 // IncludeItemsFromAllDrives sets the optional parameter
-// "includeItemsFromAllDrives": Whether both My Drive and shared drive
-// items should be included in results.
+// "includeItemsFromAllDrives": Deprecated - Whether both My Drive and
+// shared drive items should be included in results. This parameter will
+// only be effective until June 1, 2020. Afterwards shared drive items
+// will be included in the results.
 func (c *FilesListCall) IncludeItemsFromAllDrives(includeItemsFromAllDrives bool) *FilesListCall {
 	c.urlParams_.Set("includeItemsFromAllDrives", fmt.Sprint(includeItemsFromAllDrives))
 	return c
@@ -6957,8 +6966,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesListCall) SupportsAllDrives(supportsAllDrives bool) *FilesListCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -7102,7 +7113,7 @@
 	//     },
 	//     "includeItemsFromAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether both My Drive and shared drive items should be included in results.",
+	//       "description": "Deprecated - Whether both My Drive and shared drive items should be included in results. This parameter will only be effective until June 1, 2020. Afterwards shared drive items will be included in the results.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -7144,7 +7155,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -7250,8 +7261,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesUpdateCall) SupportsAllDrives(supportsAllDrives bool) *FilesUpdateCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -7481,7 +7494,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -7546,8 +7559,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *FilesWatchCall) SupportsAllDrives(supportsAllDrives bool) *FilesWatchCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -7687,7 +7702,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -7759,8 +7774,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsCreateCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsCreateCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -7907,7 +7924,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -7965,8 +7982,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsDeleteCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsDeleteCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -8072,7 +8091,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -8119,8 +8138,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsGetCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsGetCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -8264,7 +8285,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -8333,8 +8354,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsListCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsListCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -8483,7 +8506,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -8566,8 +8589,10 @@
 }
 
 // SupportsAllDrives sets the optional parameter "supportsAllDrives":
-// Whether the requesting application supports both My Drives and shared
-// drives.
+// Deprecated - Whether the requesting application supports both My
+// Drives and shared drives. This parameter will only be effective until
+// June 1, 2020. Afterwards all applications are assumed to support
+// shared drives.
 func (c *PermissionsUpdateCall) SupportsAllDrives(supportsAllDrives bool) *PermissionsUpdateCall {
 	c.urlParams_.Set("supportsAllDrives", fmt.Sprint(supportsAllDrives))
 	return c
@@ -8718,7 +8743,7 @@
 	//     },
 	//     "supportsAllDrives": {
 	//       "default": "false",
-	//       "description": "Whether the requesting application supports both My Drives and shared drives.",
+	//       "description": "Deprecated - Whether the requesting application supports both My Drives and shared drives. This parameter will only be effective until June 1, 2020. Afterwards all applications are assumed to support shared drives.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
diff --git a/file/v1/file-api.json b/file/v1/file-api.json
index 4a46af3..95d5fc5 100644
--- a/file/v1/file-api.json
+++ b/file/v1/file-api.json
@@ -471,7 +471,7 @@
       }
     }
   },
-  "revision": "20190430",
+  "revision": "20190416",
   "rootUrl": "https://file.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
@@ -503,7 +503,7 @@
       "type": "object"
     },
     "GoogleCloudSaasacceleratorManagementProvidersV1Instance": {
-      "description": "Instance represents the interface for SLM services to actuate the state\nof control plane resources.\n\nExample Instance in JSON, where\n  consumer-project=snapchat,\n  producer-project=cloud-sql:\n\n```json\nInstance:\n{\n  \"name\":\n  \"projects/snapchat/locations/us-east1/instances/prod-instance\",\n  \"create_time\": {\n    \"seconds\": 1526406431,\n  },\n  \"labels\": {\n    \"env\": \"prod\",\n    \"foo\": \"bar\"\n  },\n  \"state\": READY,\n  \"software_versions\": {\n    \"software_update\": \"cloud-sql-09-28-2018\",\n  },\n  \"maintenance_policy_names\": {\n    \"UpdatePolicy\":\n    \"projects/snapchat/locations/us-east1/maintenancePolicies/prod-update-policy\",\n  }\n  \"rollout_metadata\": {\n    \"projects/cloud-sql/locations/global/rolloutTypes/software_update\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-28-2018\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-28-2018-canary\",\n    },\n    \"projects/cloud-sql/locations/global/rolloutTypes/instance_restart\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-20-repair\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-20-repair-100-percent\",\n    }\n  }\n  \"tenant_project_id\": \"cloud-sql-test-tenant\",\n  \"producer_metadata\": {\n    \"cloud-sql-tier\": \"basic\",\n    \"cloud-sql-instance-size\": \"1G\",\n  },\n  \"provisioned_resources\": [\n    {\n      \"resource-type\": \"compute-instance\",\n      \"resource-url\":\n      \"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1\",\n    }\n  ],\n}\n```",
+      "description": "Instance represents the interface for SLM services to actuate the state\nof control plane resources.\n\nExample Instance in JSON, where\n  consumer-project=snapchat,\n  producer-project=cloud-sql:\n\n```json\nInstance:\n{\n  \"name\":\n  \"projects/snapchat/locations/us-east1/instances/prod-instance\",\n  \"create_time\": {\n    \"seconds\": 1526406431,\n  },\n  \"labels\": {\n    \"env\": \"prod\",\n    \"foo\": \"bar\"\n  },\n  \"state\": READY,\n  \"software_version\": \"cloud-sql-09-28-2018\",\n  \"maintenance_policy_names\": {\n    \"UpdatePolicy\":\n    \"projects/snapchat/locations/us-east1/maintenancePolicies/prod-update-policy\",\n  }\n  \"rollout_metadata\": {\n    \"projects/cloud-sql/locations/global/rolloutTypes/software_update\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-28-2018\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-28-2018-canary\",\n    }\n    \"projects/cloud-sql/locations/global/rolloutTypes/instance_restart\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-20-repair\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-20-repair-100-percent\",\n    }\n  }\n  \"tenant_project_id\": \"cloud-sql-test-tenant\",\n  \"producer_metadata\": {\n    \"cloud-sql-tier\": \"basic\",\n    \"cloud-sql-instance-size\": \"1G\",\n  },\n  \"provisioned_resources\": [\n    {\n      \"resource-type\": \"compute-instance\",\n      \"resource-url\":\n      \"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1\",\n    }\n  ],\n}\n```",
       "id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance",
       "properties": {
         "createTime": {
@@ -522,7 +522,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\ngo/cloud-saas-mw-ug.",
+          "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\n//depot/google3/google/cloud/saasaccelerator/maintenancepolicy/api/v1/maintenance_policy_resources.proto",
           "type": "object"
         },
         "name": {
@@ -593,24 +593,6 @@
       },
       "type": "object"
     },
-    "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": {
-      "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.",
-      "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata",
-      "properties": {
-        "exclusions": {
-          "description": "By default node is eligible if instance is eligible.\nBut individual node might be excluded from SLO by adding entry here.\nFor semantic see SloMetadata.exclusions.\nIf both instance and node level exclusions are present for time period,\nthe node level's reason will be reported by Eligibility Exporter.",
-          "items": {
-            "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion"
-          },
-          "type": "array"
-        },
-        "nodeId": {
-          "description": "The id of the node.\nThis should be equal to SaasInstanceNode.node_id.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata": {
       "description": "NotificationMetadata is the notification state for an instance.",
       "id": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata",
@@ -706,13 +688,6 @@
           },
           "type": "array"
         },
-        "nodes": {
-          "description": "Optional: list of nodes.\nSome producers need to use per-node metadata to calculate SLO.\nThis field allows such producers to publish per-node SLO meta data,\nwhich will be consumed by SSA Eligibility Exporter and published in the\nform of per node metric to Monarch.",
-          "items": {
-            "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata"
-          },
-          "type": "array"
-        },
         "tier": {
           "description": "Name of the SLO tier the Instance belongs to. This name will be expected to\nmatch the tiers specified in the service SLO configuration.\n\nField is mandatory and must not be empty.",
           "type": "string"
@@ -903,7 +878,7 @@
       "id": "NetworkConfig",
       "properties": {
         "ipAddresses": {
-          "description": "Output only.\nIPv4 addresses in the format\n{octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the format\n{block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block\n7}:{block 8}.",
+          "description": "Output only.\nIPv4 addresses in the format\n{octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the format\n{block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block 7}:{block 8}.",
           "items": {
             "type": "string"
           },
@@ -929,7 +904,7 @@
           "type": "string"
         },
         "reservedIpRange": {
-          "description": "A /29 CIDR block in one of the\n[internal IP address\nranges](https://www.arin.net/knowledge/address_filters.html) that\nidentifies the range of IP addresses reserved for this instance. For\nexample, 10.0.0.0/29 or 192.168.0.0/29. The range you specify can't overlap\nwith either existing subnets or assigned IP address ranges for other Cloud\nFilestore instances in the selected VPC network.",
+          "description": "A /29 CIDR block in one of the\n[internal IP address ranges](https://www.arin.net/knowledge/address_filters.html)\nthat identifies the range of IP addresses reserved for this\ninstance. For example, 10.0.0.0/29 or 192.168.0.0/29. The range you specify\ncan't overlap with either existing subnets or assigned IP address ranges\nfor other Cloud Filestore instances in the selected VPC network.",
           "type": "string"
         }
       },
diff --git a/file/v1/file-gen.go b/file/v1/file-gen.go
index 4ac751a..3a90799 100644
--- a/file/v1/file-gen.go
+++ b/file/v1/file-gen.go
@@ -251,9 +251,7 @@
 //     "foo": "bar"
 //   },
 //   "state": READY,
-//   "software_versions": {
-//     "software_update": "cloud-sql-09-28-2018",
-//   },
+//   "software_version": "cloud-sql-09-28-2018",
 //   "maintenance_policy_names": {
 //     "UpdatePolicy":
 //
@@ -271,7 +269,7 @@
 //
 // "projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-28-2018-c
 // anary",
-//     },
+//     }
 //
 // "projects/cloud-sql/locations/global/rolloutTypes/instance_restart":
 // {
@@ -320,7 +318,8 @@
 	// policy
 	// type. For complete details of MaintenancePolicy, please refer
 	// to
-	// go/cloud-saas-mw-ug.
+	// //depot/google3/google/cloud/saasaccelerator/maintenancepolicy/api/
+	// v1/maintenance_policy_resources.proto
 	MaintenancePolicyNames map[string]string `json:"maintenancePolicyNames,omitempty"`
 
 	// Name: Unique name of the resource. It uses the form:
@@ -408,50 +407,6 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata: Node
-// information for custom per-node SLO implementations.
-// SSA does not support per-node SLO, but producers can populate
-// per-node
-// information in SloMetadata for custom precomputations.
-// SSA Eligibility Exporter will emit per-node metric based on this
-// information.
-type GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata struct {
-	// Exclusions: By default node is eligible if instance is eligible.
-	// But individual node might be excluded from SLO by adding entry
-	// here.
-	// For semantic see SloMetadata.exclusions.
-	// If both instance and node level exclusions are present for time
-	// period,
-	// the node level's reason will be reported by Eligibility Exporter.
-	Exclusions []*GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion `json:"exclusions,omitempty"`
-
-	// NodeId: The id of the node.
-	// This should be equal to SaasInstanceNode.node_id.
-	NodeId string `json:"nodeId,omitempty"`
-
-	// ForceSendFields is a list of field names (e.g. "Exclusions") 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. "Exclusions") 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 *GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata) MarshalJSON() ([]byte, error) {
-	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
 // GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata:
 // NotificationMetadata is the notification state for an instance.
 type GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata struct {
@@ -665,15 +620,6 @@
 	// in the service SLO configuration.
 	Exclusions []*GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion `json:"exclusions,omitempty"`
 
-	// Nodes: Optional: list of nodes.
-	// Some producers need to use per-node metadata to calculate SLO.
-	// This field allows such producers to publish per-node SLO meta
-	// data,
-	// which will be consumed by SSA Eligibility Exporter and published in
-	// the
-	// form of per node metric to Monarch.
-	Nodes []*GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata `json:"nodes,omitempty"`
-
 	// Tier: Name of the SLO tier the Instance belongs to. This name will be
 	// expected to
 	// match the tiers specified in the service SLO configuration.
@@ -978,8 +924,7 @@
 	// IPv4 addresses in the format
 	// {octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the
 	// format
-	// {block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block
-	// 6}:{block
+	// {block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block
 	// 7}:{block 8}.
 	IpAddresses []string `json:"ipAddresses,omitempty"`
 
@@ -999,17 +944,14 @@
 	Network string `json:"network,omitempty"`
 
 	// ReservedIpRange: A /29 CIDR block in one of the
-	// [internal IP
-	// address
+	// [internal IP address
 	// ranges](https://www.arin.net/knowledge/address_filters.html)
-	// that
-	// identifies the range of IP addresses reserved for this instance.
-	// For
-	// example, 10.0.0.0/29 or 192.168.0.0/29. The range you specify can't
-	// overlap
-	// with either existing subnets or assigned IP address ranges for other
-	// Cloud
-	// Filestore instances in the selected VPC network.
+	// that identifies the range of IP addresses reserved for this
+	// instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The range you
+	// specify
+	// can't overlap with either existing subnets or assigned IP address
+	// ranges
+	// for other Cloud Filestore instances in the selected VPC network.
 	ReservedIpRange string `json:"reservedIpRange,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "IpAddresses") to
diff --git a/file/v1beta1/file-api.json b/file/v1beta1/file-api.json
index ac142ba..4c8af22 100644
--- a/file/v1beta1/file-api.json
+++ b/file/v1beta1/file-api.json
@@ -471,7 +471,7 @@
       }
     }
   },
-  "revision": "20190430",
+  "revision": "20190416",
   "rootUrl": "https://file.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
@@ -503,7 +503,7 @@
       "type": "object"
     },
     "GoogleCloudSaasacceleratorManagementProvidersV1Instance": {
-      "description": "Instance represents the interface for SLM services to actuate the state\nof control plane resources.\n\nExample Instance in JSON, where\n  consumer-project=snapchat,\n  producer-project=cloud-sql:\n\n```json\nInstance:\n{\n  \"name\":\n  \"projects/snapchat/locations/us-east1/instances/prod-instance\",\n  \"create_time\": {\n    \"seconds\": 1526406431,\n  },\n  \"labels\": {\n    \"env\": \"prod\",\n    \"foo\": \"bar\"\n  },\n  \"state\": READY,\n  \"software_versions\": {\n    \"software_update\": \"cloud-sql-09-28-2018\",\n  },\n  \"maintenance_policy_names\": {\n    \"UpdatePolicy\":\n    \"projects/snapchat/locations/us-east1/maintenancePolicies/prod-update-policy\",\n  }\n  \"rollout_metadata\": {\n    \"projects/cloud-sql/locations/global/rolloutTypes/software_update\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-28-2018\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-28-2018-canary\",\n    },\n    \"projects/cloud-sql/locations/global/rolloutTypes/instance_restart\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-20-repair\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-20-repair-100-percent\",\n    }\n  }\n  \"tenant_project_id\": \"cloud-sql-test-tenant\",\n  \"producer_metadata\": {\n    \"cloud-sql-tier\": \"basic\",\n    \"cloud-sql-instance-size\": \"1G\",\n  },\n  \"provisioned_resources\": [\n    {\n      \"resource-type\": \"compute-instance\",\n      \"resource-url\":\n      \"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1\",\n    }\n  ],\n}\n```",
+      "description": "Instance represents the interface for SLM services to actuate the state\nof control plane resources.\n\nExample Instance in JSON, where\n  consumer-project=snapchat,\n  producer-project=cloud-sql:\n\n```json\nInstance:\n{\n  \"name\":\n  \"projects/snapchat/locations/us-east1/instances/prod-instance\",\n  \"create_time\": {\n    \"seconds\": 1526406431,\n  },\n  \"labels\": {\n    \"env\": \"prod\",\n    \"foo\": \"bar\"\n  },\n  \"state\": READY,\n  \"software_version\": \"cloud-sql-09-28-2018\",\n  \"maintenance_policy_names\": {\n    \"UpdatePolicy\":\n    \"projects/snapchat/locations/us-east1/maintenancePolicies/prod-update-policy\",\n  }\n  \"rollout_metadata\": {\n    \"projects/cloud-sql/locations/global/rolloutTypes/software_update\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-28-2018\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-28-2018-canary\",\n    }\n    \"projects/cloud-sql/locations/global/rolloutTypes/instance_restart\": {\n      \"release\":\n      \"projects/cloud-sql/locations/global/releases/cloud-sql-09-20-repair\",\n      \"rollout\":\n      \"projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-20-repair-100-percent\",\n    }\n  }\n  \"tenant_project_id\": \"cloud-sql-test-tenant\",\n  \"producer_metadata\": {\n    \"cloud-sql-tier\": \"basic\",\n    \"cloud-sql-instance-size\": \"1G\",\n  },\n  \"provisioned_resources\": [\n    {\n      \"resource-type\": \"compute-instance\",\n      \"resource-url\":\n      \"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1\",\n    }\n  ],\n}\n```",
       "id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance",
       "properties": {
         "createTime": {
@@ -522,7 +522,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\ngo/cloud-saas-mw-ug.",
+          "description": "The MaintenancePolicies that have been attached to the instance.\nThe key must be of the type name of the oneof policy name defined in\nMaintenancePolicy, and the referenced policy must define the same policy\ntype. For complete details of MaintenancePolicy, please refer to\n//depot/google3/google/cloud/saasaccelerator/maintenancepolicy/api/v1/maintenance_policy_resources.proto",
           "type": "object"
         },
         "name": {
@@ -593,24 +593,6 @@
       },
       "type": "object"
     },
-    "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata": {
-      "description": "Node information for custom per-node SLO implementations.\nSSA does not support per-node SLO, but producers can populate per-node\ninformation in SloMetadata for custom precomputations.\nSSA Eligibility Exporter will emit per-node metric based on this information.",
-      "id": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata",
-      "properties": {
-        "exclusions": {
-          "description": "By default node is eligible if instance is eligible.\nBut individual node might be excluded from SLO by adding entry here.\nFor semantic see SloMetadata.exclusions.\nIf both instance and node level exclusions are present for time period,\nthe node level's reason will be reported by Eligibility Exporter.",
-          "items": {
-            "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion"
-          },
-          "type": "array"
-        },
-        "nodeId": {
-          "description": "The id of the node.\nThis should be equal to SaasInstanceNode.node_id.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata": {
       "description": "NotificationMetadata is the notification state for an instance.",
       "id": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata",
@@ -706,13 +688,6 @@
           },
           "type": "array"
         },
-        "nodes": {
-          "description": "Optional: list of nodes.\nSome producers need to use per-node metadata to calculate SLO.\nThis field allows such producers to publish per-node SLO meta data,\nwhich will be consumed by SSA Eligibility Exporter and published in the\nform of per node metric to Monarch.",
-          "items": {
-            "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata"
-          },
-          "type": "array"
-        },
         "tier": {
           "description": "Name of the SLO tier the Instance belongs to. This name will be expected to\nmatch the tiers specified in the service SLO configuration.\n\nField is mandatory and must not be empty.",
           "type": "string"
@@ -903,7 +878,7 @@
       "id": "NetworkConfig",
       "properties": {
         "ipAddresses": {
-          "description": "Output only.\nIPv4 addresses in the format\n{octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the format\n{block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block\n7}:{block 8}.",
+          "description": "Output only.\nIPv4 addresses in the format\n{octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the format\n{block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block 7}:{block 8}.",
           "items": {
             "type": "string"
           },
@@ -929,7 +904,7 @@
           "type": "string"
         },
         "reservedIpRange": {
-          "description": "A /29 CIDR block in one of the\n[internal IP address\nranges](https://www.arin.net/knowledge/address_filters.html) that\nidentifies the range of IP addresses reserved for this instance. For\nexample, 10.0.0.0/29 or 192.168.0.0/29. The range you specify can't overlap\nwith either existing subnets or assigned IP address ranges for other Cloud\nFilestore instances in the selected VPC network.",
+          "description": "A /29 CIDR block in one of the\n[internal IP address ranges](https://www.arin.net/knowledge/address_filters.html)\nthat identifies the range of IP addresses reserved for this\ninstance. For example, 10.0.0.0/29 or 192.168.0.0/29. The range you specify\ncan't overlap with either existing subnets or assigned IP address ranges\nfor other Cloud Filestore instances in the selected VPC network.",
           "type": "string"
         }
       },
diff --git a/file/v1beta1/file-gen.go b/file/v1beta1/file-gen.go
index 0440f94..aa298aa 100644
--- a/file/v1beta1/file-gen.go
+++ b/file/v1beta1/file-gen.go
@@ -251,9 +251,7 @@
 //     "foo": "bar"
 //   },
 //   "state": READY,
-//   "software_versions": {
-//     "software_update": "cloud-sql-09-28-2018",
-//   },
+//   "software_version": "cloud-sql-09-28-2018",
 //   "maintenance_policy_names": {
 //     "UpdatePolicy":
 //
@@ -271,7 +269,7 @@
 //
 // "projects/cloud-sql/locations/us-east1/rollouts/cloud-sql-09-28-2018-c
 // anary",
-//     },
+//     }
 //
 // "projects/cloud-sql/locations/global/rolloutTypes/instance_restart":
 // {
@@ -320,7 +318,8 @@
 	// policy
 	// type. For complete details of MaintenancePolicy, please refer
 	// to
-	// go/cloud-saas-mw-ug.
+	// //depot/google3/google/cloud/saasaccelerator/maintenancepolicy/api/
+	// v1/maintenance_policy_resources.proto
 	MaintenancePolicyNames map[string]string `json:"maintenancePolicyNames,omitempty"`
 
 	// Name: Unique name of the resource. It uses the form:
@@ -408,50 +407,6 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata: Node
-// information for custom per-node SLO implementations.
-// SSA does not support per-node SLO, but producers can populate
-// per-node
-// information in SloMetadata for custom precomputations.
-// SSA Eligibility Exporter will emit per-node metric based on this
-// information.
-type GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata struct {
-	// Exclusions: By default node is eligible if instance is eligible.
-	// But individual node might be excluded from SLO by adding entry
-	// here.
-	// For semantic see SloMetadata.exclusions.
-	// If both instance and node level exclusions are present for time
-	// period,
-	// the node level's reason will be reported by Eligibility Exporter.
-	Exclusions []*GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion `json:"exclusions,omitempty"`
-
-	// NodeId: The id of the node.
-	// This should be equal to SaasInstanceNode.node_id.
-	NodeId string `json:"nodeId,omitempty"`
-
-	// ForceSendFields is a list of field names (e.g. "Exclusions") 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. "Exclusions") 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 *GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata) MarshalJSON() ([]byte, error) {
-	type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
 // GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata:
 // NotificationMetadata is the notification state for an instance.
 type GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata struct {
@@ -665,15 +620,6 @@
 	// in the service SLO configuration.
 	Exclusions []*GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion `json:"exclusions,omitempty"`
 
-	// Nodes: Optional: list of nodes.
-	// Some producers need to use per-node metadata to calculate SLO.
-	// This field allows such producers to publish per-node SLO meta
-	// data,
-	// which will be consumed by SSA Eligibility Exporter and published in
-	// the
-	// form of per node metric to Monarch.
-	Nodes []*GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata `json:"nodes,omitempty"`
-
 	// Tier: Name of the SLO tier the Instance belongs to. This name will be
 	// expected to
 	// match the tiers specified in the service SLO configuration.
@@ -978,8 +924,7 @@
 	// IPv4 addresses in the format
 	// {octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the
 	// format
-	// {block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block
-	// 6}:{block
+	// {block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block
 	// 7}:{block 8}.
 	IpAddresses []string `json:"ipAddresses,omitempty"`
 
@@ -999,17 +944,14 @@
 	Network string `json:"network,omitempty"`
 
 	// ReservedIpRange: A /29 CIDR block in one of the
-	// [internal IP
-	// address
+	// [internal IP address
 	// ranges](https://www.arin.net/knowledge/address_filters.html)
-	// that
-	// identifies the range of IP addresses reserved for this instance.
-	// For
-	// example, 10.0.0.0/29 or 192.168.0.0/29. The range you specify can't
-	// overlap
-	// with either existing subnets or assigned IP address ranges for other
-	// Cloud
-	// Filestore instances in the selected VPC network.
+	// that identifies the range of IP addresses reserved for this
+	// instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The range you
+	// specify
+	// can't overlap with either existing subnets or assigned IP address
+	// ranges
+	// for other Cloud Filestore instances in the selected VPC network.
 	ReservedIpRange string `json:"reservedIpRange,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "IpAddresses") to
diff --git a/iam/v1/iam-api.json b/iam/v1/iam-api.json
index ce6eb29..8664e06 100644
--- a/iam/v1/iam-api.json
+++ b/iam/v1/iam-api.json
@@ -628,7 +628,7 @@
               ]
             },
             "disable": {
-              "description": "Disables a ServiceAccount.\nThe API is currently in alpha phase.",
+              "description": "DisableServiceAccount is currently in the alpha launch stage.\n\nDisables a ServiceAccount,\nwhich immediately prevents the service account from authenticating and\ngaining access to APIs.\n\nDisabled service accounts can be safely restored by using\nEnableServiceAccount at any point. Deleted service accounts cannot be\nrestored using this method.\n\nDisabling a service account that is bound to VMs, Apps, Functions, or\nother jobs will cause those jobs to lose access to resources if they are\nusing the disabled service account.\n\nTo improve reliability of your services and avoid unexpected outages, it\nis recommended to first disable a service account rather than delete it.\nAfter disabling the service account, wait at least 24 hours to verify there\nare no unintended consequences, and then delete the service account.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:disable",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.disable",
@@ -656,7 +656,7 @@
               ]
             },
             "enable": {
-              "description": "Enables a ServiceAccount.\n The API is currently in alpha phase.",
+              "description": "EnableServiceAccount is currently in the alpha launch stage.\n\n Restores a disabled ServiceAccount\n that has been manually disabled by using DisableServiceAccount. Service\n accounts that have been disabled by other means or for other reasons,\n such as abuse, cannot be restored using this method.\n\n EnableServiceAccount will have no effect on a service account that is\n not disabled.  Enabling an already enabled service account will have no\n effect.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:enable",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.enable",
@@ -938,7 +938,7 @@
               ]
             },
             "update": {
-              "description": "Note: This method is in the process of being deprecated. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` .\nThe `etag` is mandatory.",
+              "description": "Note: This method is in the process of being deprecated. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` and `description`.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
               "httpMethod": "PUT",
               "id": "iam.projects.serviceAccounts.update",
@@ -1193,9 +1193,20 @@
       }
     }
   },
-  "revision": "20190318",
+  "revision": "20190429",
   "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.",
+      "id": "AdminAuditData",
+      "properties": {
+        "permissionDelta": {
+          "$ref": "PermissionDelta",
+          "description": "The permission_delta when when creating or updating a Role."
+        }
+      },
+      "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:foo@gmail.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"fooservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:bar@gmail.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.",
       "id": "AuditConfig",
@@ -1272,7 +1283,7 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
+          "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
         },
         "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@gmail.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\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",
@@ -1658,6 +1669,27 @@
       },
       "type": "object"
     },
+    "PermissionDelta": {
+      "description": "A PermissionDelta message to record the added_permissions and\nremoved_permissions inside a role.",
+      "id": "PermissionDelta",
+      "properties": {
+        "addedPermissions": {
+          "description": "Added permissions.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "removedPermissions": {
+          "description": "Removed permissions.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "Policy": {
       "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**JSON Example**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/owner\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/viewer\",\n          \"members\": [\"user:sean@example.com\"]\n        }\n      ]\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-other-app@appspot.gserviceaccount.com\n      role: roles/owner\n    - members:\n      - user:sean@example.com\n      role: roles/viewer\n\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam/docs).",
       "id": "Policy",
diff --git a/iam/v1/iam-gen.go b/iam/v1/iam-gen.go
index 23ba396..6ec7355 100644
--- a/iam/v1/iam-gen.go
+++ b/iam/v1/iam-gen.go
@@ -235,6 +235,40 @@
 	s *Service
 }
 
+// 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.
+type AdminAuditData struct {
+	// PermissionDelta: The permission_delta when when creating or updating
+	// a Role.
+	PermissionDelta *PermissionDelta `json:"permissionDelta,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "PermissionDelta") 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. "PermissionDelta") 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 *AdminAuditData) MarshalJSON() ([]byte, error) {
+	type NoMethod AdminAuditData
+	raw := NoMethod(*s)
+	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
@@ -453,7 +487,7 @@
 // Binding: Associates `members` with a `role`.
 type Binding struct {
 	// Condition: The condition that is associated with this binding.
-	// NOTE: an unsatisfied condition will not allow user access via
+	// NOTE: An unsatisfied condition will not allow user access via
 	// current
 	// binding. Different bindings, including their conditions, are
 	// examined
@@ -1225,6 +1259,40 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// PermissionDelta: A PermissionDelta message to record the
+// added_permissions and
+// removed_permissions inside a role.
+type PermissionDelta struct {
+	// AddedPermissions: Added permissions.
+	AddedPermissions []string `json:"addedPermissions,omitempty"`
+
+	// RemovedPermissions: Removed permissions.
+	RemovedPermissions []string `json:"removedPermissions,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "AddedPermissions") 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. "AddedPermissions") 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 *PermissionDelta) MarshalJSON() ([]byte, error) {
+	type NoMethod PermissionDelta
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // Policy: Defines an Identity and Access Management (IAM) policy. It is
 // used to
 // specify access control policies for Cloud Platform resources.
@@ -4820,8 +4888,33 @@
 	header_                      http.Header
 }
 
-// Disable: Disables a ServiceAccount.
-// The API is currently in alpha phase.
+// Disable: DisableServiceAccount is currently in the alpha launch
+// stage.
+//
+// Disables a ServiceAccount,
+// which immediately prevents the service account from authenticating
+// and
+// gaining access to APIs.
+//
+// Disabled service accounts can be safely restored by
+// using
+// EnableServiceAccount at any point. Deleted service accounts cannot
+// be
+// restored using this method.
+//
+// Disabling a service account that is bound to VMs, Apps, Functions,
+// or
+// other jobs will cause those jobs to lose access to resources if they
+// are
+// using the disabled service account.
+//
+// To improve reliability of your services and avoid unexpected outages,
+// it
+// is recommended to first disable a service account rather than delete
+// it.
+// After disabling the service account, wait at least 24 hours to verify
+// there
+// are no unintended consequences, and then delete the service account.
 func (r *ProjectsServiceAccountsService) Disable(name string, disableserviceaccountrequest *DisableServiceAccountRequest) *ProjectsServiceAccountsDisableCall {
 	c := &ProjectsServiceAccountsDisableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4919,7 +5012,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Disables a ServiceAccount.\nThe API is currently in alpha phase.",
+	//   "description": "DisableServiceAccount is currently in the alpha launch stage.\n\nDisables a ServiceAccount,\nwhich immediately prevents the service account from authenticating and\ngaining access to APIs.\n\nDisabled service accounts can be safely restored by using\nEnableServiceAccount at any point. Deleted service accounts cannot be\nrestored using this method.\n\nDisabling a service account that is bound to VMs, Apps, Functions, or\nother jobs will cause those jobs to lose access to resources if they are\nusing the disabled service account.\n\nTo improve reliability of your services and avoid unexpected outages, it\nis recommended to first disable a service account rather than delete it.\nAfter disabling the service account, wait at least 24 hours to verify there\nare no unintended consequences, and then delete the service account.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:disable",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.disable",
@@ -4960,8 +5053,21 @@
 	header_                     http.Header
 }
 
-// Enable: Enables a ServiceAccount.
-//  The API is currently in alpha phase.
+// Enable: EnableServiceAccount is currently in the alpha launch
+// stage.
+//
+//  Restores a disabled ServiceAccount
+//  that has been manually disabled by using DisableServiceAccount.
+// Service
+//  accounts that have been disabled by other means or for other
+// reasons,
+//  such as abuse, cannot be restored using this method.
+//
+//  EnableServiceAccount will have no effect on a service account that
+// is
+//  not disabled.  Enabling an already enabled service account will have
+// no
+//  effect.
 func (r *ProjectsServiceAccountsService) Enable(name string, enableserviceaccountrequest *EnableServiceAccountRequest) *ProjectsServiceAccountsEnableCall {
 	c := &ProjectsServiceAccountsEnableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5059,7 +5165,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Enables a ServiceAccount.\n The API is currently in alpha phase.",
+	//   "description": "EnableServiceAccount is currently in the alpha launch stage.\n\n Restores a disabled ServiceAccount\n that has been manually disabled by using DisableServiceAccount. Service\n accounts that have been disabled by other means or for other reasons,\n such as abuse, cannot be restored using this method.\n\n EnableServiceAccount will have no effect on a service account that is\n not disabled.  Enabling an already enabled service account will have no\n effect.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:enable",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.enable",
@@ -6494,8 +6600,7 @@
 // Updates a ServiceAccount.
 //
 // Currently, only the following fields are updatable:
-// `display_name` .
-// The `etag` is mandatory.
+// `display_name` and `description`.
 func (r *ProjectsServiceAccountsService) Update(name string, serviceaccount *ServiceAccount) *ProjectsServiceAccountsUpdateCall {
 	c := &ProjectsServiceAccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6593,7 +6698,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Note: This method is in the process of being deprecated. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` .\nThe `etag` is mandatory.",
+	//   "description": "Note: This method is in the process of being deprecated. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` and `description`.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "iam.projects.serviceAccounts.update",
diff --git a/serviceconsumermanagement/v1/serviceconsumermanagement-api.json b/serviceconsumermanagement/v1/serviceconsumermanagement-api.json
index 7a5975a..36a1378 100644
--- a/serviceconsumermanagement/v1/serviceconsumermanagement-api.json
+++ b/serviceconsumermanagement/v1/serviceconsumermanagement-api.json
@@ -541,7 +541,7 @@
       }
     }
   },
-  "revision": "20190423",
+  "revision": "20190501",
   "rootUrl": "https://serviceconsumermanagement.googleapis.com/",
   "schemas": {
     "AddTenantProjectRequest": {
@@ -1674,6 +1674,26 @@
           },
           "type": "array"
         },
+        "launchStage": {
+          "description": "Optional. The launch stage of the monitored resource definition.",
+          "enum": [
+            "LAUNCH_STAGE_UNSPECIFIED",
+            "EARLY_ACCESS",
+            "ALPHA",
+            "BETA",
+            "GA",
+            "DEPRECATED"
+          ],
+          "enumDescriptions": [
+            "Do not use this default value.",
+            "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
+            "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don’t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
+            "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
+            "GA features are open to all developers and are considered stable and\nfully qualified for production use.",
+            "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the “Deprecation Policy” section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation."
+          ],
+          "type": "string"
+        },
         "name": {
           "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type.  APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.",
           "type": "string"
diff --git a/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go b/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go
index 60c1051..8fb3821 100644
--- a/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go
+++ b/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go
@@ -3084,6 +3084,59 @@
 	// identified by values for the labels "database_id" and "zone".
 	Labels []*LabelDescriptor `json:"labels,omitempty"`
 
+	// LaunchStage: Optional. The launch stage of the monitored resource
+	// definition.
+	//
+	// Possible values:
+	//   "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value.
+	//   "EARLY_ACCESS" - Early Access features are limited to a closed
+	// group of testers. To use
+	// these features, you must sign up in advance and sign a Trusted
+	// Tester
+	// agreement (which includes confidentiality provisions). These features
+	// may
+	// be unstable, changed in backward-incompatible ways, and are
+	// not
+	// guaranteed to be released.
+	//   "ALPHA" - Alpha is a limited availability test for releases before
+	// they are cleared
+	// for widespread use. By Alpha, all significant design issues are
+	// resolved
+	// and we are in the process of verifying functionality. Alpha
+	// customers
+	// need to apply for access, agree to applicable terms, and have
+	// their
+	// projects whitelisted. Alpha releases don’t have to be feature
+	// complete,
+	// no SLAs are provided, and there are no technical support obligations,
+	// but
+	// they will be far enough along that customers can actually use them
+	// in
+	// test environments or for limited-use tests -- just like they would
+	// in
+	// normal production cases.
+	//   "BETA" - Beta is the point at which we are ready to open a release
+	// for any
+	// customer to use. There are no SLA or technical support obligations in
+	// a
+	// Beta release. Products will be complete from a feature perspective,
+	// but
+	// may have some open outstanding issues. Beta releases are suitable
+	// for
+	// limited production use cases.
+	//   "GA" - GA features are open to all developers and are considered
+	// stable and
+	// fully qualified for production use.
+	//   "DEPRECATED" - Deprecated features are scheduled to be shut down
+	// and removed. For more
+	// information, see the “Deprecation Policy” section of our [Terms
+	// of
+	// Service](https://cloud.google.com/terms/)
+	// and the [Google Cloud Platform Subject to the
+	// Deprecation
+	// Policy](https://cloud.google.com/terms/deprecation) documentation.
+	LaunchStage string `json:"launchStage,omitempty"`
+
 	// Name: Optional. The resource name of the monitored resource
 	// descriptor:
 	// "projects/{project_id}/monitoredResourceDescriptors/{type
diff --git a/servicenetworking/v1/servicenetworking-api.json b/servicenetworking/v1/servicenetworking-api.json
index 0a1bf68..4819fbd 100644
--- a/servicenetworking/v1/servicenetworking-api.json
+++ b/servicenetworking/v1/servicenetworking-api.json
@@ -403,7 +403,7 @@
       }
     }
   },
-  "revision": "20190415",
+  "revision": "20190501",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddSubnetworkRequest": {
@@ -1542,6 +1542,26 @@
           },
           "type": "array"
         },
+        "launchStage": {
+          "description": "Optional. The launch stage of the monitored resource definition.",
+          "enum": [
+            "LAUNCH_STAGE_UNSPECIFIED",
+            "EARLY_ACCESS",
+            "ALPHA",
+            "BETA",
+            "GA",
+            "DEPRECATED"
+          ],
+          "enumDescriptions": [
+            "Do not use this default value.",
+            "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
+            "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don’t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
+            "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
+            "GA features are open to all developers and are considered stable and\nfully qualified for production use.",
+            "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the “Deprecation Policy” section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation."
+          ],
+          "type": "string"
+        },
         "name": {
           "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type.  APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.",
           "type": "string"
diff --git a/servicenetworking/v1/servicenetworking-gen.go b/servicenetworking/v1/servicenetworking-gen.go
index 092113d..10b97b4 100644
--- a/servicenetworking/v1/servicenetworking-gen.go
+++ b/servicenetworking/v1/servicenetworking-gen.go
@@ -3074,6 +3074,59 @@
 	// identified by values for the labels "database_id" and "zone".
 	Labels []*LabelDescriptor `json:"labels,omitempty"`
 
+	// LaunchStage: Optional. The launch stage of the monitored resource
+	// definition.
+	//
+	// Possible values:
+	//   "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value.
+	//   "EARLY_ACCESS" - Early Access features are limited to a closed
+	// group of testers. To use
+	// these features, you must sign up in advance and sign a Trusted
+	// Tester
+	// agreement (which includes confidentiality provisions). These features
+	// may
+	// be unstable, changed in backward-incompatible ways, and are
+	// not
+	// guaranteed to be released.
+	//   "ALPHA" - Alpha is a limited availability test for releases before
+	// they are cleared
+	// for widespread use. By Alpha, all significant design issues are
+	// resolved
+	// and we are in the process of verifying functionality. Alpha
+	// customers
+	// need to apply for access, agree to applicable terms, and have
+	// their
+	// projects whitelisted. Alpha releases don’t have to be feature
+	// complete,
+	// no SLAs are provided, and there are no technical support obligations,
+	// but
+	// they will be far enough along that customers can actually use them
+	// in
+	// test environments or for limited-use tests -- just like they would
+	// in
+	// normal production cases.
+	//   "BETA" - Beta is the point at which we are ready to open a release
+	// for any
+	// customer to use. There are no SLA or technical support obligations in
+	// a
+	// Beta release. Products will be complete from a feature perspective,
+	// but
+	// may have some open outstanding issues. Beta releases are suitable
+	// for
+	// limited production use cases.
+	//   "GA" - GA features are open to all developers and are considered
+	// stable and
+	// fully qualified for production use.
+	//   "DEPRECATED" - Deprecated features are scheduled to be shut down
+	// and removed. For more
+	// information, see the “Deprecation Policy” section of our [Terms
+	// of
+	// Service](https://cloud.google.com/terms/)
+	// and the [Google Cloud Platform Subject to the
+	// Deprecation
+	// Policy](https://cloud.google.com/terms/deprecation) documentation.
+	LaunchStage string `json:"launchStage,omitempty"`
+
 	// Name: Optional. The resource name of the monitored resource
 	// descriptor:
 	// "projects/{project_id}/monitoredResourceDescriptors/{type
diff --git a/servicenetworking/v1beta/servicenetworking-api.json b/servicenetworking/v1beta/servicenetworking-api.json
index b1b7c5a..835708d 100644
--- a/servicenetworking/v1beta/servicenetworking-api.json
+++ b/servicenetworking/v1beta/servicenetworking-api.json
@@ -306,7 +306,7 @@
       }
     }
   },
-  "revision": "20190415",
+  "revision": "20190501",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddSubnetworkRequest": {
@@ -1415,6 +1415,26 @@
           },
           "type": "array"
         },
+        "launchStage": {
+          "description": "Optional. The launch stage of the monitored resource definition.",
+          "enum": [
+            "LAUNCH_STAGE_UNSPECIFIED",
+            "EARLY_ACCESS",
+            "ALPHA",
+            "BETA",
+            "GA",
+            "DEPRECATED"
+          ],
+          "enumDescriptions": [
+            "Do not use this default value.",
+            "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
+            "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don’t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
+            "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
+            "GA features are open to all developers and are considered stable and\nfully qualified for production use.",
+            "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the “Deprecation Policy” section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation."
+          ],
+          "type": "string"
+        },
         "name": {
           "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type.  APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.",
           "type": "string"
diff --git a/servicenetworking/v1beta/servicenetworking-gen.go b/servicenetworking/v1beta/servicenetworking-gen.go
index d1e87ef..7882529 100644
--- a/servicenetworking/v1beta/servicenetworking-gen.go
+++ b/servicenetworking/v1beta/servicenetworking-gen.go
@@ -3009,6 +3009,59 @@
 	// identified by values for the labels "database_id" and "zone".
 	Labels []*LabelDescriptor `json:"labels,omitempty"`
 
+	// LaunchStage: Optional. The launch stage of the monitored resource
+	// definition.
+	//
+	// Possible values:
+	//   "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value.
+	//   "EARLY_ACCESS" - Early Access features are limited to a closed
+	// group of testers. To use
+	// these features, you must sign up in advance and sign a Trusted
+	// Tester
+	// agreement (which includes confidentiality provisions). These features
+	// may
+	// be unstable, changed in backward-incompatible ways, and are
+	// not
+	// guaranteed to be released.
+	//   "ALPHA" - Alpha is a limited availability test for releases before
+	// they are cleared
+	// for widespread use. By Alpha, all significant design issues are
+	// resolved
+	// and we are in the process of verifying functionality. Alpha
+	// customers
+	// need to apply for access, agree to applicable terms, and have
+	// their
+	// projects whitelisted. Alpha releases don’t have to be feature
+	// complete,
+	// no SLAs are provided, and there are no technical support obligations,
+	// but
+	// they will be far enough along that customers can actually use them
+	// in
+	// test environments or for limited-use tests -- just like they would
+	// in
+	// normal production cases.
+	//   "BETA" - Beta is the point at which we are ready to open a release
+	// for any
+	// customer to use. There are no SLA or technical support obligations in
+	// a
+	// Beta release. Products will be complete from a feature perspective,
+	// but
+	// may have some open outstanding issues. Beta releases are suitable
+	// for
+	// limited production use cases.
+	//   "GA" - GA features are open to all developers and are considered
+	// stable and
+	// fully qualified for production use.
+	//   "DEPRECATED" - Deprecated features are scheduled to be shut down
+	// and removed. For more
+	// information, see the “Deprecation Policy” section of our [Terms
+	// of
+	// Service](https://cloud.google.com/terms/)
+	// and the [Google Cloud Platform Subject to the
+	// Deprecation
+	// Policy](https://cloud.google.com/terms/deprecation) documentation.
+	LaunchStage string `json:"launchStage,omitempty"`
+
 	// Name: Optional. The resource name of the monitored resource
 	// descriptor:
 	// "projects/{project_id}/monitoredResourceDescriptors/{type
diff --git a/serviceusage/v1/serviceusage-api.json b/serviceusage/v1/serviceusage-api.json
index 59023a4..a7fe2c8 100644
--- a/serviceusage/v1/serviceusage-api.json
+++ b/serviceusage/v1/serviceusage-api.json
@@ -393,7 +393,7 @@
       }
     }
   },
-  "revision": "20190415",
+  "revision": "20190501",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "Api": {
@@ -1797,6 +1797,26 @@
           },
           "type": "array"
         },
+        "launchStage": {
+          "description": "Optional. The launch stage of the monitored resource definition.",
+          "enum": [
+            "LAUNCH_STAGE_UNSPECIFIED",
+            "EARLY_ACCESS",
+            "ALPHA",
+            "BETA",
+            "GA",
+            "DEPRECATED"
+          ],
+          "enumDescriptions": [
+            "Do not use this default value.",
+            "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
+            "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don’t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
+            "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
+            "GA features are open to all developers and are considered stable and\nfully qualified for production use.",
+            "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the “Deprecation Policy” section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation."
+          ],
+          "type": "string"
+        },
         "name": {
           "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type.  APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.",
           "type": "string"
diff --git a/serviceusage/v1/serviceusage-gen.go b/serviceusage/v1/serviceusage-gen.go
index f192bcc..b61a6d9 100644
--- a/serviceusage/v1/serviceusage-gen.go
+++ b/serviceusage/v1/serviceusage-gen.go
@@ -3501,6 +3501,59 @@
 	// identified by values for the labels "database_id" and "zone".
 	Labels []*LabelDescriptor `json:"labels,omitempty"`
 
+	// LaunchStage: Optional. The launch stage of the monitored resource
+	// definition.
+	//
+	// Possible values:
+	//   "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value.
+	//   "EARLY_ACCESS" - Early Access features are limited to a closed
+	// group of testers. To use
+	// these features, you must sign up in advance and sign a Trusted
+	// Tester
+	// agreement (which includes confidentiality provisions). These features
+	// may
+	// be unstable, changed in backward-incompatible ways, and are
+	// not
+	// guaranteed to be released.
+	//   "ALPHA" - Alpha is a limited availability test for releases before
+	// they are cleared
+	// for widespread use. By Alpha, all significant design issues are
+	// resolved
+	// and we are in the process of verifying functionality. Alpha
+	// customers
+	// need to apply for access, agree to applicable terms, and have
+	// their
+	// projects whitelisted. Alpha releases don’t have to be feature
+	// complete,
+	// no SLAs are provided, and there are no technical support obligations,
+	// but
+	// they will be far enough along that customers can actually use them
+	// in
+	// test environments or for limited-use tests -- just like they would
+	// in
+	// normal production cases.
+	//   "BETA" - Beta is the point at which we are ready to open a release
+	// for any
+	// customer to use. There are no SLA or technical support obligations in
+	// a
+	// Beta release. Products will be complete from a feature perspective,
+	// but
+	// may have some open outstanding issues. Beta releases are suitable
+	// for
+	// limited production use cases.
+	//   "GA" - GA features are open to all developers and are considered
+	// stable and
+	// fully qualified for production use.
+	//   "DEPRECATED" - Deprecated features are scheduled to be shut down
+	// and removed. For more
+	// information, see the “Deprecation Policy” section of our [Terms
+	// of
+	// Service](https://cloud.google.com/terms/)
+	// and the [Google Cloud Platform Subject to the
+	// Deprecation
+	// Policy](https://cloud.google.com/terms/deprecation) documentation.
+	LaunchStage string `json:"launchStage,omitempty"`
+
 	// Name: Optional. The resource name of the monitored resource
 	// descriptor:
 	// "projects/{project_id}/monitoredResourceDescriptors/{type
diff --git a/serviceusage/v1beta1/serviceusage-api.json b/serviceusage/v1beta1/serviceusage-api.json
index 45be27d..d19870e 100644
--- a/serviceusage/v1beta1/serviceusage-api.json
+++ b/serviceusage/v1beta1/serviceusage-api.json
@@ -338,7 +338,7 @@
       }
     }
   },
-  "revision": "20190415",
+  "revision": "20190501",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "Api": {
@@ -1731,6 +1731,26 @@
           },
           "type": "array"
         },
+        "launchStage": {
+          "description": "Optional. The launch stage of the monitored resource definition.",
+          "enum": [
+            "LAUNCH_STAGE_UNSPECIFIED",
+            "EARLY_ACCESS",
+            "ALPHA",
+            "BETA",
+            "GA",
+            "DEPRECATED"
+          ],
+          "enumDescriptions": [
+            "Do not use this default value.",
+            "Early Access features are limited to a closed group of testers. To use\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
+            "Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don’t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
+            "Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
+            "GA features are open to all developers and are considered stable and\nfully qualified for production use.",
+            "Deprecated features are scheduled to be shut down and removed. For more\ninformation, see the “Deprecation Policy” section of our [Terms of\nService](https://cloud.google.com/terms/)\nand the [Google Cloud Platform Subject to the Deprecation\nPolicy](https://cloud.google.com/terms/deprecation) documentation."
+          ],
+          "type": "string"
+        },
         "name": {
           "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type.  APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.",
           "type": "string"
diff --git a/serviceusage/v1beta1/serviceusage-gen.go b/serviceusage/v1beta1/serviceusage-gen.go
index 075e708..7869776 100644
--- a/serviceusage/v1beta1/serviceusage-gen.go
+++ b/serviceusage/v1beta1/serviceusage-gen.go
@@ -3455,6 +3455,59 @@
 	// identified by values for the labels "database_id" and "zone".
 	Labels []*LabelDescriptor `json:"labels,omitempty"`
 
+	// LaunchStage: Optional. The launch stage of the monitored resource
+	// definition.
+	//
+	// Possible values:
+	//   "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value.
+	//   "EARLY_ACCESS" - Early Access features are limited to a closed
+	// group of testers. To use
+	// these features, you must sign up in advance and sign a Trusted
+	// Tester
+	// agreement (which includes confidentiality provisions). These features
+	// may
+	// be unstable, changed in backward-incompatible ways, and are
+	// not
+	// guaranteed to be released.
+	//   "ALPHA" - Alpha is a limited availability test for releases before
+	// they are cleared
+	// for widespread use. By Alpha, all significant design issues are
+	// resolved
+	// and we are in the process of verifying functionality. Alpha
+	// customers
+	// need to apply for access, agree to applicable terms, and have
+	// their
+	// projects whitelisted. Alpha releases don’t have to be feature
+	// complete,
+	// no SLAs are provided, and there are no technical support obligations,
+	// but
+	// they will be far enough along that customers can actually use them
+	// in
+	// test environments or for limited-use tests -- just like they would
+	// in
+	// normal production cases.
+	//   "BETA" - Beta is the point at which we are ready to open a release
+	// for any
+	// customer to use. There are no SLA or technical support obligations in
+	// a
+	// Beta release. Products will be complete from a feature perspective,
+	// but
+	// may have some open outstanding issues. Beta releases are suitable
+	// for
+	// limited production use cases.
+	//   "GA" - GA features are open to all developers and are considered
+	// stable and
+	// fully qualified for production use.
+	//   "DEPRECATED" - Deprecated features are scheduled to be shut down
+	// and removed. For more
+	// information, see the “Deprecation Policy” section of our [Terms
+	// of
+	// Service](https://cloud.google.com/terms/)
+	// and the [Google Cloud Platform Subject to the
+	// Deprecation
+	// Policy](https://cloud.google.com/terms/deprecation) documentation.
+	LaunchStage string `json:"launchStage,omitempty"`
+
 	// Name: Optional. The resource name of the monitored resource
 	// descriptor:
 	// "projects/{project_id}/monitoredResourceDescriptors/{type
diff --git a/spanner/v1/spanner-api.json b/spanner/v1/spanner-api.json
index 094dd4a..97a3226 100644
--- a/spanner/v1/spanner-api.json
+++ b/spanner/v1/spanner-api.json
@@ -1358,7 +1358,7 @@
       }
     }
   },
-  "revision": "20190403",
+  "revision": "20190416",
   "rootUrl": "https://spanner.googleapis.com/",
   "schemas": {
     "BeginTransactionRequest": {
@@ -1378,7 +1378,7 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "Unimplemented. The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
+          "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
         },
         "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@gmail.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\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",
@@ -1586,7 +1586,7 @@
           "type": "string"
         },
         "statements": {
-          "description": "The list of statements to execute in this batch. Statements are executed\nserially, such that the effects of statement i are visible to statement\ni+1. Each statement must be a DML statement. Execution will stop at the\nfirst failed statement; the remaining statements will not run.\n\nREQUIRES: statements_size() \u003e 0.",
+          "description": "The list of statements to execute in this batch. Statements are executed\nserially, such that the effects of statement i are visible to statement\ni+1. Each statement must be a DML statement. Execution will stop at the\nfirst failed statement; the remaining statements will not run.\n\nREQUIRES: `statements_size()` \u003e 0.",
           "items": {
             "$ref": "Statement"
           },
@@ -1600,7 +1600,7 @@
       "type": "object"
     },
     "ExecuteBatchDmlResponse": {
-      "description": "The response for ExecuteBatchDml. Contains a list\nof ResultSet, one for each DML statement that has successfully executed.\nIf a statement fails, the error is returned as part of the response payload.\nClients can determine whether all DML statements have run successfully, or if\na statement failed, using one of the following approaches:\n\n  1. Check if 'status' field is OkStatus.\n  2. Check if result_sets_size() equals the number of statements in\n     ExecuteBatchDmlRequest.\n\nExample 1: A request with 5 DML statements, all executed successfully.\nResult: A response with 5 ResultSets, one for each statement in the same\norder, and an OK status.\n\nExample 2: A request with 5 DML statements. The 3rd statement has a syntax\nerror.\nResult: A response with 2 ResultSets, for the first 2 statements that\nrun successfully, and a syntax error (INVALID_ARGUMENT) status. From\nresult_set_size() client can determine that the 3rd statement has failed.",
+      "description": "The response for ExecuteBatchDml. Contains a list\nof ResultSet, one for each DML statement that has successfully executed.\nIf a statement fails, the error is returned as part of the response payload.\nClients can determine whether all DML statements have run successfully, or if\na statement failed, using one of the following approaches:\n\n  1. Check if `'status'` field is `OkStatus`.\n  2. Check if `result_sets_size()` equals the number of statements in\n     ExecuteBatchDmlRequest.\n\nExample 1: A request with 5 DML statements, all executed successfully.\n\nResult: A response with 5 ResultSets, one for each statement in the same\norder, and an `OkStatus`.\n\nExample 2: A request with 5 DML statements. The 3rd statement has a syntax\nerror.\n\nResult: A response with 2 ResultSets, for the first 2 statements that\nrun successfully, and a syntax error (`INVALID_ARGUMENT`) status. From\n`result_set_size()` client can determine that the 3rd statement has failed.",
       "id": "ExecuteBatchDmlResponse",
       "properties": {
         "resultSets": {
@@ -1790,6 +1790,13 @@
         "name": {
           "description": "A unique identifier for the instance configuration.  Values\nare of the form\n`projects/\u003cproject\u003e/instanceConfigs/a-z*`",
           "type": "string"
+        },
+        "replicas": {
+          "description": "The geographic placement of nodes in this instance configuration and their\nreplication properties.",
+          "items": {
+            "$ref": "ReplicaInfo"
+          },
+          "type": "array"
         }
       },
       "type": "object"
@@ -2342,6 +2349,36 @@
       "properties": {},
       "type": "object"
     },
+    "ReplicaInfo": {
+      "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.",
+          "type": "boolean"
+        },
+        "location": {
+          "description": "The location of the serving resources, e.g. \"us-central1\".",
+          "type": "string"
+        },
+        "type": {
+          "description": "The type of replica.",
+          "enum": [
+            "TYPE_UNSPECIFIED",
+            "READ_WRITE",
+            "READ_ONLY",
+            "WITNESS"
+          ],
+          "enumDescriptions": [
+            "Not specified.",
+            "Read-write replicas support both reads and writes. These replicas:\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* 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* 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."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ResultSet": {
       "description": "Results from Read or\nExecuteSql.",
       "id": "ResultSet",
diff --git a/spanner/v1/spanner-gen.go b/spanner/v1/spanner-gen.go
index 6622d4e..e082d37 100644
--- a/spanner/v1/spanner-gen.go
+++ b/spanner/v1/spanner-gen.go
@@ -255,8 +255,7 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: Unimplemented. The condition that is associated with this
-	// binding.
+	// Condition: The condition that is associated with this binding.
 	// NOTE: an unsatisfied condition will not allow user access via
 	// current
 	// binding. Different bindings, including their conditions, are
@@ -766,7 +765,7 @@
 	// first failed statement; the remaining statements will not
 	// run.
 	//
-	// REQUIRES: statements_size() > 0.
+	// REQUIRES: `statements_size()` > 0.
 	Statements []*Statement `json:"statements,omitempty"`
 
 	// Transaction: The transaction to use. A ReadWrite transaction is
@@ -809,24 +808,27 @@
 // successfully, or if
 // a statement failed, using one of the following approaches:
 //
-//   1. Check if 'status' field is OkStatus.
-//   2. Check if result_sets_size() equals the number of statements in
+//   1. Check if `'status'` field is `OkStatus`.
+//   2. Check if `result_sets_size()` equals the number of statements
+// in
 //      ExecuteBatchDmlRequest.
 //
 // Example 1: A request with 5 DML statements, all executed
 // successfully.
+//
 // Result: A response with 5 ResultSets, one for each statement in the
 // same
-// order, and an OK status.
+// order, and an `OkStatus`.
 //
 // Example 2: A request with 5 DML statements. The 3rd statement has a
 // syntax
 // error.
+//
 // Result: A response with 2 ResultSets, for the first 2 statements
 // that
-// run successfully, and a syntax error (INVALID_ARGUMENT) status.
+// run successfully, and a syntax error (`INVALID_ARGUMENT`) status.
 // From
-// result_set_size() client can determine that the 3rd statement has
+// `result_set_size()` client can determine that the 3rd statement has
 // failed.
 type ExecuteBatchDmlResponse struct {
 	// ResultSets: ResultSets, one for each statement in the request that
@@ -1270,6 +1272,11 @@
 	// `projects/<project>/instanceConfigs/a-z*`
 	Name string `json:"name,omitempty"`
 
+	// Replicas: The geographic placement of nodes in this instance
+	// configuration and their
+	// replication properties.
+	Replicas []*ReplicaInfo `json:"replicas,omitempty"`
+
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
 	googleapi.ServerResponse `json:"-"`
@@ -2660,6 +2667,71 @@
 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.
+	DefaultLeaderLocation bool `json:"defaultLeaderLocation,omitempty"`
+
+	// Location: The location of the serving resources, e.g. "us-central1".
+	Location string `json:"location,omitempty"`
+
+	// Type: The type of replica.
+	//
+	// 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.
+	//   "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.
+	//   "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.
+	Type string `json:"type,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g.
+	// "DefaultLeaderLocation") 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. "DefaultLeaderLocation") 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 *ReplicaInfo) MarshalJSON() ([]byte, error) {
+	type NoMethod ReplicaInfo
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // ResultSet: Results from Read or
 // ExecuteSql.
 type ResultSet struct {
diff --git a/storage/v1/storage-api.json b/storage/v1/storage-api.json
index 43d3c2f..20b9699 100644
--- a/storage/v1/storage-api.json
+++ b/storage/v1/storage-api.json
@@ -26,7 +26,7 @@
   "description": "Stores and retrieves potentially large, immutable data objects.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/storage/docs/json_api/",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/pVz6USaiEn5yRWz7SthUFa68mYI\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/p_spPkWHsRi33PRBHlYtU2G_uKg\"",
   "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"
@@ -3196,7 +3196,7 @@
       }
     }
   },
-  "revision": "20190416",
+  "revision": "20190426",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Bucket": {
@@ -3768,8 +3768,8 @@
           "type": "string"
         },
         "metadata": {
-          "description": "Key metadata.",
-          "type": "any"
+          "$ref": "HmacKeyMetadata",
+          "description": "Key metadata."
         },
         "secret": {
           "description": "HMAC secret key material.",
diff --git a/storage/v1/storage-gen.go b/storage/v1/storage-gen.go
index 0ad3ad1..9924efb 100644
--- a/storage/v1/storage-gen.go
+++ b/storage/v1/storage-gen.go
@@ -1336,7 +1336,7 @@
 	Kind string `json:"kind,omitempty"`
 
 	// Metadata: Key metadata.
-	Metadata interface{} `json:"metadata,omitempty"`
+	Metadata *HmacKeyMetadata `json:"metadata,omitempty"`
 
 	// Secret: HMAC secret key material.
 	Secret string `json:"secret,omitempty"`