all: autogenerated update (2019-04-13)

Update:
- drive/v2
- drive/v3
- fitness/v1
- oauth2/v1
- people/v1
- plus/v1
diff --git a/drive/v2/drive-api.json b/drive/v2/drive-api.json
index 7c90eb8..9ca2693 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": "\"J3WqvAcMk4eQjJXvfSI4Yr8VouA/XBo3v2wypoRQ0OatiSPR_63Htp4\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/lKOGBhFMu3-vffJ-yofbFGthirM\"",
   "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"
@@ -1883,7 +1883,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -1923,7 +1923,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -2004,7 +2004,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -2056,7 +2056,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -2115,7 +2115,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -2173,7 +2173,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -3080,7 +3080,7 @@
       }
     }
   },
-  "revision": "20190311",
+  "revision": "20190404",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
diff --git a/drive/v2/drive-gen.go b/drive/v2/drive-gen.go
index 3c36259..ea50ae5 100644
--- a/drive/v2/drive-gen.go
+++ b/drive/v2/drive-gen.go
@@ -10182,8 +10182,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsDeleteCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsDeleteCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -10278,7 +10279,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -10321,8 +10322,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsGetCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsGetCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -10455,7 +10457,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -10668,8 +10670,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsInsertCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsInsertCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -10797,7 +10800,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -10861,8 +10864,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsListCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsListCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -11000,7 +11004,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -11087,8 +11091,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsPatchCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsPatchCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -11225,7 +11230,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -11290,8 +11295,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsUpdateCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsUpdateCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -11428,7 +11434,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
diff --git a/drive/v3/drive-api.json b/drive/v3/drive-api.json
index e59e16a..9e97dae 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": "\"J3WqvAcMk4eQjJXvfSI4Yr8VouA/AVEoPmuw3qKn1b0N_HIutPHT3IQ\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/O0AdRM7pk6dqzK6FPfSwIXw0RMQ\"",
   "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"
@@ -1034,7 +1034,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -1080,7 +1080,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -1120,7 +1120,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -1173,7 +1173,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -1232,7 +1232,7 @@
             },
             "useDomainAdminAccess": {
               "default": "false",
-              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+              "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
               "location": "query",
               "type": "boolean"
             }
@@ -1770,7 +1770,7 @@
       }
     }
   },
-  "revision": "20190311",
+  "revision": "20190404",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
diff --git a/drive/v3/drive-gen.go b/drive/v3/drive-gen.go
index 941b6e7..b15b5f7 100644
--- a/drive/v3/drive-gen.go
+++ b/drive/v3/drive-gen.go
@@ -6066,8 +6066,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsCreateCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsCreateCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -6200,7 +6201,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -6248,8 +6249,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsDeleteCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsDeleteCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -6344,7 +6346,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -6387,8 +6389,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsGetCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsGetCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -6521,7 +6524,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -6586,8 +6589,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsListCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsListCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -6725,7 +6729,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -6813,8 +6817,9 @@
 
 // UseDomainAdminAccess sets the optional parameter
 // "useDomainAdminAccess": Issue the request as a domain administrator;
-// if set to true, then the requester will be granted access if they are
-// an administrator of the domain to which the item belongs.
+// if set to true, then the requester will be granted access if the file
+// ID parameter refers to a Team Drive and the requester is an
+// administrator of the domain to which the Team Drive belongs.
 func (c *PermissionsUpdateCall) UseDomainAdminAccess(useDomainAdminAccess bool) *PermissionsUpdateCall {
 	c.urlParams_.Set("useDomainAdminAccess", fmt.Sprint(useDomainAdminAccess))
 	return c
@@ -6951,7 +6956,7 @@
 	//     },
 	//     "useDomainAdminAccess": {
 	//       "default": "false",
-	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the item belongs.",
+	//       "description": "Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a Team Drive and the requester is an administrator of the domain to which the Team Drive belongs.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
diff --git a/fitness/v1/fitness-api.json b/fitness/v1/fitness-api.json
index 0401756..749e4c8 100644
--- a/fitness/v1/fitness-api.json
+++ b/fitness/v1/fitness-api.json
@@ -65,7 +65,7 @@
   "description": "Stores and accesses user data in the fitness store from apps on any platform.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/fit/rest/",
-  "etag": "\"J3WqvAcMk4eQjJXvfSI4Yr8VouA/EzrkenHVGWaHqnlGSQKFq8sseBU\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/5HkIXTuow4_42nhAZgQJ4gq5QE8\"",
   "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"
@@ -761,7 +761,7 @@
       }
     }
   },
-  "revision": "20190312",
+  "revision": "20190408",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "AggregateBucket": {
@@ -1143,7 +1143,7 @@
               "fitness.users.dataSources.update"
             ]
           },
-          "description": "A unique identifier for the data stream produced by this data source. The identifier includes:\n\n \n- The physical device's manufacturer, model, and serial number (UID). \n- The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client. \n- The data source's type. \n- The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.\n\nThe exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName \n\nThe exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName \n\nWhen any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minimum viable data stream ID would be: type:dataType.name:developer project number\n\nFinally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.",
+          "description": "A unique identifier for the data stream produced by this data source. The identifier includes:\n\n \n- The physical device's manufacturer, model, and serial number (UID). \n- The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client. \n- The data source's type. \n- The data source's stream name.  Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.\n\nThe exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName \n\nThe exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName \n\nWhen any of the optional fields that make up the data stream ID are absent, they will be omitted from the data stream ID. The minimum viable data stream ID would be: type:dataType.name:developer project number\n\nFinally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.",
           "type": "string"
         },
         "dataStreamName": {
diff --git a/fitness/v1/fitness-gen.go b/fitness/v1/fitness-gen.go
index 0d2fbb2..73a9723 100644
--- a/fitness/v1/fitness-gen.go
+++ b/fitness/v1/fitness-gen.go
@@ -803,8 +803,8 @@
 	// number:device.manufacturer:device.model:device.uid:dataStreamName
 	//
 	//
-	// When any of the optional fields that comprise of the data stream ID
-	// are blank, they will be omitted from the data stream ID. The minimum
+	// When any of the optional fields that make up the data stream ID are
+	// absent, they will be omitted from the data stream ID. The minimum
 	// viable data stream ID would be: type:dataType.name:developer project
 	// number
 	//
diff --git a/oauth2/v1/oauth2-api.json b/oauth2/v1/oauth2-api.json
index 4e542a6..0d3c403 100644
--- a/oauth2/v1/oauth2-api.json
+++ b/oauth2/v1/oauth2-api.json
@@ -9,7 +9,7 @@
           "description": "View your email address"
         },
         "https://www.googleapis.com/auth/userinfo.profile": {
-          "description": "See your personal info, including any personal info you've made publicly available"
+          "description": "See your personal info, including any personal info you've made publically available"
         }
       }
     }
@@ -20,7 +20,7 @@
   "description": "Obtains end-user authorization grants for use with other Google APIs.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/accounts/docs/OAuth2",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/2jhEYhz35ERpMxx_W99r61DQ-cQ\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/6gy2tfxO0xiB1vqpE1CpGSSyBHg\"",
   "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"
diff --git a/oauth2/v1/oauth2-gen.go b/oauth2/v1/oauth2-gen.go
index 2bd00f8..071da2a 100644
--- a/oauth2/v1/oauth2-gen.go
+++ b/oauth2/v1/oauth2-gen.go
@@ -87,7 +87,7 @@
 	UserinfoEmailScope = "https://www.googleapis.com/auth/userinfo.email"
 
 	// See your personal info, including any personal info you've made
-	// publicly available
+	// publically available
 	UserinfoProfileScope = "https://www.googleapis.com/auth/userinfo.profile"
 )
 
diff --git a/people/v1/people-api.json b/people/v1/people-api.json
index df92617..67102e0 100644
--- a/people/v1/people-api.json
+++ b/people/v1/people-api.json
@@ -580,7 +580,7 @@
       }
     }
   },
-  "revision": "20190403",
+  "revision": "20190411",
   "rootUrl": "https://people.googleapis.com/",
   "schemas": {
     "Address": {
@@ -800,7 +800,11 @@
       "id": "ContactGroupMembership",
       "properties": {
         "contactGroupId": {
-          "description": "The contact group ID for the contact group membership. The contact group\nID can be custom or one of these predefined values:\n\n*  `myContacts`\n*  `starred`\n*  A numerical ID for user-created groups.",
+          "description": "The read-only contact group ID for the contact group membership.",
+          "type": "string"
+        },
+        "contactGroupResourceName": {
+          "description": "The resource name for the contact group, assigned by the server. An ASCII\nstring, in the form of `contactGroups/`\u003cvar\u003econtact_group_id\u003c/var\u003e.\nOnly contact_group_resource_name can be used for modifying memberships.",
           "type": "string"
         }
       },
@@ -894,7 +898,7 @@
       "type": "object"
     },
     "DomainMembership": {
-      "description": "A G Suite Domain membership.",
+      "description": "A read-only G Suite Domain membership.",
       "id": "DomainMembership",
       "properties": {
         "inViewerDomain": {
@@ -1131,7 +1135,7 @@
       "type": "object"
     },
     "Membership": {
-      "description": "A person's read-only membership in a group.",
+      "description": "A person's membership in a group. Only contact group memberships can be\nmodified.",
       "id": "Membership",
       "properties": {
         "contactGroupMembership": {
@@ -1140,7 +1144,7 @@
         },
         "domainMembership": {
           "$ref": "DomainMembership",
-          "description": "The domain membership."
+          "description": "The read-only domain membership."
         },
         "metadata": {
           "$ref": "FieldMetadata",
@@ -1467,7 +1471,7 @@
           "type": "array"
         },
         "memberships": {
-          "description": "The person's read-only group memberships.",
+          "description": "The person's group memberships.",
           "items": {
             "$ref": "Membership"
           },
diff --git a/people/v1/people-gen.go b/people/v1/people-gen.go
index aaf6bd2..e968fe4 100644
--- a/people/v1/people-gen.go
+++ b/people/v1/people-gen.go
@@ -543,15 +543,18 @@
 
 // ContactGroupMembership: A Google contact group membership.
 type ContactGroupMembership struct {
-	// ContactGroupId: The contact group ID for the contact group
-	// membership. The contact group
-	// ID can be custom or one of these predefined values:
-	//
-	// *  `myContacts`
-	// *  `starred`
-	// *  A numerical ID for user-created groups.
+	// ContactGroupId: The read-only contact group ID for the contact group
+	// membership.
 	ContactGroupId string `json:"contactGroupId,omitempty"`
 
+	// ContactGroupResourceName: The resource name for the contact group,
+	// assigned by the server. An ASCII
+	// string, in the form of
+	// `contactGroups/`<var>contact_group_id</var>.
+	// Only contact_group_resource_name can be used for modifying
+	// memberships.
+	ContactGroupResourceName string `json:"contactGroupResourceName,omitempty"`
+
 	// ForceSendFields is a list of field names (e.g. "ContactGroupId") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
@@ -765,7 +768,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// DomainMembership: A G Suite Domain membership.
+// DomainMembership: A read-only G Suite Domain membership.
 type DomainMembership struct {
 	// InViewerDomain: True if the person is in the viewer's G Suite domain.
 	InViewerDomain bool `json:"inViewerDomain,omitempty"`
@@ -1241,12 +1244,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Membership: A person's read-only membership in a group.
+// Membership: A person's membership in a group. Only contact group
+// memberships can be
+// modified.
 type Membership struct {
 	// ContactGroupMembership: The contact group membership.
 	ContactGroupMembership *ContactGroupMembership `json:"contactGroupMembership,omitempty"`
 
-	// DomainMembership: The domain membership.
+	// DomainMembership: The read-only domain membership.
 	DomainMembership *DomainMembership `json:"domainMembership,omitempty"`
 
 	// Metadata: Metadata about the membership.
@@ -1649,7 +1654,7 @@
 	// Locales: The person's locale preferences.
 	Locales []*Locale `json:"locales,omitempty"`
 
-	// Memberships: The person's read-only group memberships.
+	// Memberships: The person's group memberships.
 	Memberships []*Membership `json:"memberships,omitempty"`
 
 	// Metadata: Read-only metadata about the person.
diff --git a/plus/v1/plus-api.json b/plus/v1/plus-api.json
index 181ed50..7fe7380 100644
--- a/plus/v1/plus-api.json
+++ b/plus/v1/plus-api.json
@@ -12,7 +12,7 @@
           "description": "View your email address"
         },
         "https://www.googleapis.com/auth/userinfo.profile": {
-          "description": "See your personal info, including any personal info you've made publicly available"
+          "description": "See your personal info, including any personal info you've made publically available"
         }
       }
     }
@@ -23,7 +23,7 @@
   "description": "Builds on top of the Google+ platform.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/+/api/",
-  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/va5ODMMhlw4R_F2_Dx86cJc2pz4\"",
+  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/ygNpkIBfMIsdrvzOkNP9eUu4vp0\"",
   "icons": {
     "x16": "http://www.google.com/images/icons/product/gplus-16.png",
     "x32": "http://www.google.com/images/icons/product/gplus-32.png"
diff --git a/plus/v1/plus-gen.go b/plus/v1/plus-gen.go
index be87004..b058199 100644
--- a/plus/v1/plus-gen.go
+++ b/plus/v1/plus-gen.go
@@ -90,7 +90,7 @@
 	UserinfoEmailScope = "https://www.googleapis.com/auth/userinfo.email"
 
 	// See your personal info, including any personal info you've made
-	// publicly available
+	// publically available
 	UserinfoProfileScope = "https://www.googleapis.com/auth/userinfo.profile"
 )