all: autogenerated update (2019-08-10)

Update:
- admin/directory/v1
- cloudtasks/v2beta2
- container/v1beta1
- containeranalysis/v1alpha1
- containeranalysis/v1beta1
- dialogflow/v2
- dialogflow/v2beta1
- logging/v2
- monitoring/v3
- runtimeconfig/v1beta1
diff --git a/admin/directory/v1/admin-api.json b/admin/directory/v1/admin-api.json
index 0c70d75..b79143e 100644
--- a/admin/directory/v1/admin-api.json
+++ b/admin/directory/v1/admin-api.json
@@ -93,7 +93,7 @@
   "description": "Manages enterprise resources such as users and groups, administrative notifications, security features, and more.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/admin-sdk/directory/",
-  "etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/PEYqbC-uxgiBkr1DN_hihusF4Ac\"",
+  "etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/eWNDpeAZuk1gV8zhFqMfz4qmrho\"",
   "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"
@@ -348,11 +348,9 @@
               "type": "string"
             },
             "maxResults": {
-              "default": "100",
-              "description": "Maximum number of results to return.",
+              "description": "Maximum number of results to return. Default is 100",
               "format": "int32",
               "location": "query",
-              "maximum": "200",
               "minimum": "1",
               "type": "integer"
             },
@@ -940,11 +938,9 @@
               "type": "string"
             },
             "maxResults": {
-              "default": "200",
-              "description": "Maximum number of results to return.",
+              "description": "Maximum number of results to return. Default is 200",
               "format": "int32",
               "location": "query",
-              "maximum": "200",
               "minimum": "1",
               "type": "integer"
             },
@@ -983,7 +979,7 @@
               "type": "string"
             },
             "userKey": {
-              "description": "Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object.",
+              "description": "Email or immutable Id of the user if only those groups are to be listed, the given user is a member of. If Id, it should match with id of user object",
               "location": "query",
               "type": "string"
             }
@@ -1278,11 +1274,9 @@
               "type": "boolean"
             },
             "maxResults": {
-              "default": "200",
-              "description": "Maximum number of results to return.",
+              "description": "Maximum number of results to return. Default is 200",
               "format": "int32",
               "location": "query",
-              "maximum": "200",
               "minimum": "1",
               "type": "integer"
             },
@@ -1498,11 +1492,9 @@
               "type": "string"
             },
             "maxResults": {
-              "default": "100",
-              "description": "Maximum number of results to return.",
+              "description": "Maximum number of results to return. Default is 100",
               "format": "int32",
               "location": "query",
-              "maximum": "100",
               "minimum": "1",
               "type": "integer"
             },
@@ -3386,8 +3378,7 @@
               "type": "string"
             },
             "maxResults": {
-              "default": "100",
-              "description": "Maximum number of results to return.",
+              "description": "Maximum number of results to return. Default is 100. Max allowed is 500",
               "format": "int32",
               "location": "query",
               "maximum": "500",
@@ -3436,7 +3427,7 @@
               "type": "string"
             },
             "showDeleted": {
-              "description": "If set to true, retrieves the list of deleted users. (Default: false)",
+              "description": "If set to true retrieves the list of deleted users. Default is false",
               "location": "query",
               "type": "string"
             },
@@ -3616,8 +3607,7 @@
               "type": "string"
             },
             "maxResults": {
-              "default": "100",
-              "description": "Maximum number of results to return.",
+              "description": "Maximum number of results to return. Default is 100. Max allowed is 500",
               "format": "int32",
               "location": "query",
               "maximum": "500",
@@ -3666,7 +3656,7 @@
               "type": "string"
             },
             "showDeleted": {
-              "description": "If set to true, retrieves the list of deleted users. (Default: false)",
+              "description": "If set to true retrieves the list of deleted users. Default is false",
               "location": "query",
               "type": "string"
             },
@@ -4027,7 +4017,7 @@
       }
     }
   },
-  "revision": "20190708",
+  "revision": "20190214",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Alias": {
@@ -4504,11 +4494,6 @@
           "description": "User of the device",
           "type": "string"
         },
-        "autoUpdateExpiration": {
-          "description": "(Read-only) The timestamp after which the device will stop receiving Chrome updates or support",
-          "format": "int64",
-          "type": "string"
-        },
         "bootMode": {
           "description": "Chromebook boot mode (Read-only)",
           "type": "string"
@@ -4614,10 +4599,6 @@
           },
           "type": "array"
         },
-        "dockMacAddress": {
-          "description": "(Read-only) Built-in MAC address for the docking station that the device connected to. Factory sets Media access control address (MAC address) assigned for use by a dock. Currently this is only supported on the Dell Arcada / Sarien devices and the Dell WD19 / WD19TB Docking Station. It is reserved specifically for MAC pass through device policy. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for Dell devices.",
-          "type": "string"
-        },
         "etag": {
           "description": "ETag of the resource.",
           "type": "string"
@@ -4626,10 +4607,6 @@
           "description": "Chromebook Mac Address on ethernet network interface (Read-only)",
           "type": "string"
         },
-        "ethernetMacAddress0": {
-          "description": "(Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for Dell devices.",
-          "type": "string"
-        },
         "firmwareVersion": {
           "description": "Chromebook firmware version (Read-only)",
           "type": "string"
@@ -4653,10 +4630,6 @@
           "description": "Chromebook Mac Address on wifi network interface (Read-only)",
           "type": "string"
         },
-        "manufactureDate": {
-          "description": "(Read-only) The date the device was manufactured in yyyy-mm-dd format.",
-          "type": "string"
-        },
         "meid": {
           "description": "Mobile Equipment identifier for the 3G mobile card in the Chromebook (Read-only)",
           "type": "string"
@@ -5243,7 +5216,7 @@
           "type": "string"
         },
         "id": {
-          "description": "The unique ID of the group member. A member id can be used as a member request URI's memberKey. Unique identifier of group (Read-only) Unique identifier of member (Read-only)",
+          "description": "Unique identifier of customer member (Read-only) Unique identifier of group (Read-only) Unique identifier of member (Read-only)",
           "type": "string"
         },
         "kind": {
@@ -5736,7 +5709,7 @@
           "type": "string"
         },
         "serviceId": {
-          "description": "The obfuscated ID of the service this privilege is for. This value is returned with Privileges.list().",
+          "description": "The obfuscated ID of the service this privilege is for.",
           "type": "string"
         },
         "serviceName": {
@@ -5822,7 +5795,7 @@
                 "type": "string"
               },
               "serviceId": {
-                "description": "The obfuscated ID of the service this privilege is for. This value is returned with Privileges.list().",
+                "description": "The obfuscated ID of the service this privilege is for.",
                 "type": "string"
               }
             },
@@ -6720,7 +6693,7 @@
           "type": "string"
         },
         "fullTimeEquivalent": {
-          "description": "The full-time equivalent millipercent within the organization (100000 = 100%).",
+          "description": "The full-time equivalent percent within the organization (100000 = 100%).",
           "format": "int32",
           "type": "integer"
         },
diff --git a/admin/directory/v1/admin-gen.go b/admin/directory/v1/admin-gen.go
index e8900c9..adcf75c 100644
--- a/admin/directory/v1/admin-gen.go
+++ b/admin/directory/v1/admin-gen.go
@@ -1206,10 +1206,6 @@
 	// AnnotatedUser: User of the device
 	AnnotatedUser string `json:"annotatedUser,omitempty"`
 
-	// AutoUpdateExpiration: (Read-only) The timestamp after which the
-	// device will stop receiving Chrome updates or support
-	AutoUpdateExpiration int64 `json:"autoUpdateExpiration,omitempty,string"`
-
 	// BootMode: Chromebook boot mode (Read-only)
 	BootMode string `json:"bootMode,omitempty"`
 
@@ -1227,16 +1223,6 @@
 	// mounted/connected volumes.
 	DiskVolumeReports []*ChromeOsDeviceDiskVolumeReports `json:"diskVolumeReports,omitempty"`
 
-	// DockMacAddress: (Read-only) Built-in MAC address for the docking
-	// station that the device connected to. Factory sets Media access
-	// control address (MAC address) assigned for use by a dock. Currently
-	// this is only supported on the Dell Arcada / Sarien devices and the
-	// Dell WD19 / WD19TB Docking Station. It is reserved specifically for
-	// MAC pass through device policy. The format is twelve (12) hexadecimal
-	// digits without any delimiter (uppercase letters). This is only
-	// relevant for Dell devices.
-	DockMacAddress string `json:"dockMacAddress,omitempty"`
-
 	// Etag: ETag of the resource.
 	Etag string `json:"etag,omitempty"`
 
@@ -1244,13 +1230,6 @@
 	// interface (Read-only)
 	EthernetMacAddress string `json:"ethernetMacAddress,omitempty"`
 
-	// EthernetMacAddress0: (Read-only) MAC address used by the
-	// Chromebook’s internal ethernet port, and for onboard network
-	// (ethernet) interface. The format is twelve (12) hexadecimal digits
-	// without any delimiter (uppercase letters). This is only relevant for
-	// Dell devices.
-	EthernetMacAddress0 string `json:"ethernetMacAddress0,omitempty"`
-
 	// FirmwareVersion: Chromebook firmware version (Read-only)
 	FirmwareVersion string `json:"firmwareVersion,omitempty"`
 
@@ -1270,10 +1249,6 @@
 	// (Read-only)
 	MacAddress string `json:"macAddress,omitempty"`
 
-	// ManufactureDate: (Read-only) The date the device was manufactured in
-	// yyyy-mm-dd format.
-	ManufactureDate string `json:"manufactureDate,omitempty"`
-
 	// Meid: Mobile Equipment identifier for the 3G mobile card in the
 	// Chromebook (Read-only)
 	Meid string `json:"meid,omitempty"`
@@ -2296,9 +2271,9 @@
 	// Etag: ETag of the resource.
 	Etag string `json:"etag,omitempty"`
 
-	// Id: The unique ID of the group member. A member id can be used as a
-	// member request URI's memberKey. Unique identifier of group
-	// (Read-only) Unique identifier of member (Read-only)
+	// Id: Unique identifier of customer member (Read-only) Unique
+	// identifier of group (Read-only) Unique identifier of member
+	// (Read-only)
 	Id string `json:"id,omitempty"`
 
 	// Kind: Kind of resource this is.
@@ -2904,7 +2879,6 @@
 	PrivilegeName string `json:"privilegeName,omitempty"`
 
 	// ServiceId: The obfuscated ID of the service this privilege is for.
-	// This value is returned with Privileges.list().
 	ServiceId string `json:"serviceId,omitempty"`
 
 	// ServiceName: The name of the service this privilege is for.
@@ -3033,7 +3007,6 @@
 	PrivilegeName string `json:"privilegeName,omitempty"`
 
 	// ServiceId: The obfuscated ID of the service this privilege is for.
-	// This value is returned with Privileges.list().
 	ServiceId string `json:"serviceId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PrivilegeName") to
@@ -4207,7 +4180,7 @@
 	// Domain: The domain to which the organization belongs to.
 	Domain string `json:"domain,omitempty"`
 
-	// FullTimeEquivalent: The full-time equivalent millipercent within the
+	// FullTimeEquivalent: The full-time equivalent percent within the
 	// organization (100000 = 100%).
 	FullTimeEquivalent int64 `json:"fullTimeEquivalent,omitempty"`
 
@@ -5496,7 +5469,7 @@
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
-// of results to return.
+// of results to return. Default is 100
 func (c *ChromeosdevicesListCall) MaxResults(maxResults int64) *ChromeosdevicesListCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
@@ -5678,11 +5651,9 @@
 	//       "type": "string"
 	//     },
 	//     "maxResults": {
-	//       "default": "100",
-	//       "description": "Maximum number of results to return.",
+	//       "description": "Maximum number of results to return. Default is 100",
 	//       "format": "int32",
 	//       "location": "query",
-	//       "maximum": "200",
 	//       "minimum": "1",
 	//       "type": "integer"
 	//     },
@@ -8167,7 +8138,7 @@
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
-// of results to return.
+// of results to return. Default is 200
 func (c *GroupsListCall) MaxResults(maxResults int64) *GroupsListCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
@@ -8210,10 +8181,9 @@
 	return c
 }
 
-// UserKey sets the optional parameter "userKey": Email or immutable ID
+// UserKey sets the optional parameter "userKey": Email or immutable Id
 // of the user if only those groups are to be listed, the given user is
-// a member of. If it's an ID, it should match with the ID of the user
-// object.
+// a member of. If Id, it should match with id of user object
 func (c *GroupsListCall) UserKey(userKey string) *GroupsListCall {
 	c.urlParams_.Set("userKey", userKey)
 	return c
@@ -8330,11 +8300,9 @@
 	//       "type": "string"
 	//     },
 	//     "maxResults": {
-	//       "default": "200",
-	//       "description": "Maximum number of results to return.",
+	//       "description": "Maximum number of results to return. Default is 200",
 	//       "format": "int32",
 	//       "location": "query",
-	//       "maximum": "200",
 	//       "minimum": "1",
 	//       "type": "integer"
 	//     },
@@ -8373,7 +8341,7 @@
 	//       "type": "string"
 	//     },
 	//     "userKey": {
-	//       "description": "Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object.",
+	//       "description": "Email or immutable Id of the user if only those groups are to be listed, the given user is a member of. If Id, it should match with id of user object",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -9667,7 +9635,7 @@
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
-// of results to return.
+// of results to return. Default is 200
 func (c *MembersListCall) MaxResults(maxResults int64) *MembersListCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
@@ -9805,11 +9773,9 @@
 	//       "type": "boolean"
 	//     },
 	//     "maxResults": {
-	//       "default": "200",
-	//       "description": "Maximum number of results to return.",
+	//       "description": "Maximum number of results to return. Default is 200",
 	//       "format": "int32",
 	//       "location": "query",
-	//       "maximum": "200",
 	//       "minimum": "1",
 	//       "type": "integer"
 	//     },
@@ -10587,7 +10553,7 @@
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
-// of results to return.
+// of results to return. Default is 100
 func (c *MobiledevicesListCall) MaxResults(maxResults int64) *MobiledevicesListCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
@@ -10762,11 +10728,9 @@
 	//       "type": "string"
 	//     },
 	//     "maxResults": {
-	//       "default": "100",
-	//       "description": "Maximum number of results to return.",
+	//       "description": "Maximum number of results to return. Default is 100",
 	//       "format": "int32",
 	//       "location": "query",
-	//       "maximum": "100",
 	//       "minimum": "1",
 	//       "type": "integer"
 	//     },
@@ -19061,7 +19025,7 @@
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
-// of results to return.
+// of results to return. Default is 100. Max allowed is 500
 func (c *UsersListCall) MaxResults(maxResults int64) *UsersListCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
@@ -19107,8 +19071,8 @@
 	return c
 }
 
-// ShowDeleted sets the optional parameter "showDeleted": If set to
-// true, retrieves the list of deleted users. (Default: false)
+// ShowDeleted sets the optional parameter "showDeleted": If set to true
+// retrieves the list of deleted users. Default is false
 func (c *UsersListCall) ShowDeleted(showDeleted string) *UsersListCall {
 	c.urlParams_.Set("showDeleted", showDeleted)
 	return c
@@ -19271,8 +19235,7 @@
 	//       "type": "string"
 	//     },
 	//     "maxResults": {
-	//       "default": "100",
-	//       "description": "Maximum number of results to return.",
+	//       "description": "Maximum number of results to return. Default is 100. Max allowed is 500",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "maximum": "500",
@@ -19321,7 +19284,7 @@
 	//       "type": "string"
 	//     },
 	//     "showDeleted": {
-	//       "description": "If set to true, retrieves the list of deleted users. (Default: false)",
+	//       "description": "If set to true retrieves the list of deleted users. Default is false",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -19939,7 +19902,7 @@
 }
 
 // MaxResults sets the optional parameter "maxResults": Maximum number
-// of results to return.
+// of results to return. Default is 100. Max allowed is 500
 func (c *UsersWatchCall) MaxResults(maxResults int64) *UsersWatchCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
@@ -19985,8 +19948,8 @@
 	return c
 }
 
-// ShowDeleted sets the optional parameter "showDeleted": If set to
-// true, retrieves the list of deleted users. (Default: false)
+// ShowDeleted sets the optional parameter "showDeleted": If set to true
+// retrieves the list of deleted users. Default is false
 func (c *UsersWatchCall) ShowDeleted(showDeleted string) *UsersWatchCall {
 	c.urlParams_.Set("showDeleted", showDeleted)
 	return c
@@ -20141,8 +20104,7 @@
 	//       "type": "string"
 	//     },
 	//     "maxResults": {
-	//       "default": "100",
-	//       "description": "Maximum number of results to return.",
+	//       "description": "Maximum number of results to return. Default is 100. Max allowed is 500",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "maximum": "500",
@@ -20191,7 +20153,7 @@
 	//       "type": "string"
 	//     },
 	//     "showDeleted": {
-	//       "description": "If set to true, retrieves the list of deleted users. (Default: false)",
+	//       "description": "If set to true retrieves the list of deleted users. Default is false",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
diff --git a/cloudtasks/v2beta2/cloudtasks-api.json b/cloudtasks/v2beta2/cloudtasks-api.json
index 6a914ff..1930fce 100644
--- a/cloudtasks/v2beta2/cloudtasks-api.json
+++ b/cloudtasks/v2beta2/cloudtasks-api.json
@@ -786,7 +786,7 @@
       }
     }
   },
-  "revision": "20190531",
+  "revision": "20190618",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AcknowledgeTaskRequest": {
@@ -1025,7 +1025,7 @@
           "type": "string"
         },
         "leaseDuration": {
-          "description": "\nAfter the worker has successfully finished the work associated\nwith the task, the worker must call via\nAcknowledgeTask before the\nschedule_time. Otherwise the task will be\nreturned to a later LeaseTasks call so\nthat another worker can retry it.\n\nThe maximum lease duration is 1 week.\n`lease_duration` will be truncated to the nearest second.",
+          "description": "Required.\n\nThe duration of the lease.\n\nEach task returned in the response will\nhave its schedule_time set to the current\ntime plus the `lease_duration`. The task is leased until its\nschedule_time; thus, the task will not be\nreturned to another LeaseTasks call\nbefore its schedule_time.\n\n\nAfter the worker has successfully finished the work associated\nwith the task, the worker must call via\nAcknowledgeTask before the\nschedule_time. Otherwise the task will be\nreturned to a later LeaseTasks call so\nthat another worker can retry it.\n\nThe maximum lease duration is 1 week.\n`lease_duration` will be truncated to the nearest second.",
           "format": "google-duration",
           "type": "string"
         },
diff --git a/cloudtasks/v2beta2/cloudtasks-gen.go b/cloudtasks/v2beta2/cloudtasks-gen.go
index 48c29eb..2ca9194 100644
--- a/cloudtasks/v2beta2/cloudtasks-gen.go
+++ b/cloudtasks/v2beta2/cloudtasks-gen.go
@@ -1088,7 +1088,19 @@
 	// tag will be displayed as empty in Cloud Tasks.
 	Filter string `json:"filter,omitempty"`
 
-	// LeaseDuration:
+	// LeaseDuration: Required.
+	//
+	// The duration of the lease.
+	//
+	// Each task returned in the response will
+	// have its schedule_time set to the current
+	// time plus the `lease_duration`. The task is leased until
+	// its
+	// schedule_time; thus, the task will not be
+	// returned to another LeaseTasks call
+	// before its schedule_time.
+	//
+	//
 	// After the worker has successfully finished the work associated
 	// with the task, the worker must call via
 	// AcknowledgeTask before the
diff --git a/container/v1beta1/container-api.json b/container/v1beta1/container-api.json
index 786c3e0..b312ccf 100644
--- a/container/v1beta1/container-api.json
+++ b/container/v1beta1/container-api.json
@@ -2483,7 +2483,7 @@
       }
     }
   },
-  "revision": "20190610",
+  "revision": "20190628",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -2865,6 +2865,10 @@
           "description": "[Output only] The IP address range of the Kubernetes services in\nthis cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`). Service addresses are\ntypically put in the last `/16` from the container CIDR.",
           "type": "string"
         },
+        "shieldedNodes": {
+          "$ref": "ShieldedNodes",
+          "description": "Shielded Nodes configuration."
+        },
         "status": {
           "description": "[Output only] The current status of this cluster.",
           "enum": [
@@ -3022,6 +3026,10 @@
           "$ref": "ResourceUsageExportConfig",
           "description": "The desired configuration for exporting resource usage."
         },
+        "desiredShieldedNodes": {
+          "$ref": "ShieldedNodes",
+          "description": "Configuration for Shielded Nodes."
+        },
         "desiredVerticalPodAutoscaling": {
           "$ref": "VerticalPodAutoscaling",
           "description": "Cluster-level Vertical Pod Autoscaling configuration."
@@ -3167,6 +3175,10 @@
       "description": "GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517",
       "id": "GetJSONWebKeysResponse",
       "properties": {
+        "cacheHeader": {
+          "$ref": "HttpCacheControlResponseHeader",
+          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP\nCache-Control header."
+        },
         "keys": {
           "description": "The public component of the keys used by the cluster to sign token\nrequests.",
           "items": {
@@ -3181,6 +3193,10 @@
       "description": "GetOpenIDConfigResponse is an OIDC discovery document for the cluster.\nSee the OpenID Connect Discovery 1.0 specification for details.",
       "id": "GetOpenIDConfigResponse",
       "properties": {
+        "cacheHeader": {
+          "$ref": "HttpCacheControlResponseHeader",
+          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP\nCache-Control header."
+        },
         "claims_supported": {
           "description": "Supported claims.",
           "items": {
@@ -3238,6 +3254,26 @@
       },
       "type": "object"
     },
+    "HttpCacheControlResponseHeader": {
+      "description": "RFC-2616: cache control support",
+      "id": "HttpCacheControlResponseHeader",
+      "properties": {
+        "age": {
+          "description": "14.6 response cache age, in seconds since the response is generated",
+          "format": "int64",
+          "type": "string"
+        },
+        "directive": {
+          "description": "14.9 request and response directives",
+          "type": "string"
+        },
+        "expires": {
+          "description": "14.21 response cache expires, in RFC 1123 date format",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "HttpLoadBalancing": {
       "description": "Configuration options for the HTTP (L7) load balancing controller addon,\nwhich makes it easy to set up HTTP load balancers for services in a cluster.",
       "id": "HttpLoadBalancing",
@@ -4648,6 +4684,17 @@
       },
       "type": "object"
     },
+    "ShieldedNodes": {
+      "description": "Configuration of Shielded Nodes feature.",
+      "id": "ShieldedNodes",
+      "properties": {
+        "enabled": {
+          "description": "Whether Shielded Nodes features are enabled on all nodes in this cluster.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
     "StartIPRotationRequest": {
       "description": "StartIPRotationRequest creates a new IP for the cluster and then performs\na node upgrade on each node pool to point to the new IP.",
       "id": "StartIPRotationRequest",
diff --git a/container/v1beta1/container-gen.go b/container/v1beta1/container-gen.go
index b3d853b..911cf6e 100644
--- a/container/v1beta1/container-gen.go
+++ b/container/v1beta1/container-gen.go
@@ -1001,6 +1001,9 @@
 	// typically put in the last `/16` from the container CIDR.
 	ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
 
+	// ShieldedNodes: Shielded Nodes configuration.
+	ShieldedNodes *ShieldedNodes `json:"shieldedNodes,omitempty"`
+
 	// Status: [Output only] The current status of this cluster.
 	//
 	// Possible values:
@@ -1271,6 +1274,9 @@
 	// exporting resource usage.
 	DesiredResourceUsageExportConfig *ResourceUsageExportConfig `json:"desiredResourceUsageExportConfig,omitempty"`
 
+	// DesiredShieldedNodes: Configuration for Shielded Nodes.
+	DesiredShieldedNodes *ShieldedNodes `json:"desiredShieldedNodes,omitempty"`
+
 	// DesiredVerticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling
 	// configuration.
 	DesiredVerticalPodAutoscaling *VerticalPodAutoscaling `json:"desiredVerticalPodAutoscaling,omitempty"`
@@ -1591,6 +1597,11 @@
 // GetJSONWebKeysResponse: GetJSONWebKeysResponse is a valid JSON Web
 // Key Set as specififed in rfc 7517
 type GetJSONWebKeysResponse struct {
+	// CacheHeader: OnePlatform automatically extracts this field and uses
+	// it to set the HTTP
+	// Cache-Control header.
+	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
+
 	// Keys: The public component of the keys used by the cluster to sign
 	// token
 	// requests.
@@ -1600,7 +1611,7 @@
 	// server.
 	googleapi.ServerResponse `json:"-"`
 
-	// ForceSendFields is a list of field names (e.g. "Keys") to
+	// ForceSendFields is a list of field names (e.g. "CacheHeader") 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
@@ -1608,10 +1619,10 @@
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "Keys") to include in API
-	// requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
+	// NullFields is a list of field names (e.g. "CacheHeader") 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:"-"`
@@ -1627,6 +1638,11 @@
 // document for the cluster.
 // See the OpenID Connect Discovery 1.0 specification for details.
 type GetOpenIDConfigResponse struct {
+	// CacheHeader: OnePlatform automatically extracts this field and uses
+	// it to set the HTTP
+	// Cache-Control header.
+	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
+
 	// ClaimsSupported: Supported claims.
 	ClaimsSupported []string `json:"claims_supported,omitempty"`
 
@@ -1653,7 +1669,7 @@
 	// server.
 	googleapi.ServerResponse `json:"-"`
 
-	// ForceSendFields is a list of field names (e.g. "ClaimsSupported") to
+	// ForceSendFields is a list of field names (e.g. "CacheHeader") 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
@@ -1661,13 +1677,12 @@
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "ClaimsSupported") to
-	// include in API requests with the JSON null value. By default, fields
-	// with empty values are omitted from API requests. However, any field
-	// with an empty value appearing in NullFields will be sent to the
-	// server as null. It is an error if a field in this list has a
-	// non-empty value. This may be used to include null fields in Patch
-	// requests.
+	// NullFields is a list of field names (e.g. "CacheHeader") 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:"-"`
 }
 
@@ -1713,6 +1728,41 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// HttpCacheControlResponseHeader: RFC-2616: cache control support
+type HttpCacheControlResponseHeader struct {
+	// Age: 14.6 response cache age, in seconds since the response is
+	// generated
+	Age int64 `json:"age,omitempty,string"`
+
+	// Directive: 14.9 request and response directives
+	Directive string `json:"directive,omitempty"`
+
+	// Expires: 14.21 response cache expires, in RFC 1123 date format
+	Expires string `json:"expires,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Age") 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. "Age") 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 *HttpCacheControlResponseHeader) MarshalJSON() ([]byte, error) {
+	type NoMethod HttpCacheControlResponseHeader
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // HttpLoadBalancing: Configuration options for the HTTP (L7) load
 // balancing controller addon,
 // which makes it easy to set up HTTP load balancers for services in a
@@ -4410,6 +4460,35 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// ShieldedNodes: Configuration of Shielded Nodes feature.
+type ShieldedNodes struct {
+	// Enabled: Whether Shielded Nodes features are enabled on all nodes in
+	// this cluster.
+	Enabled bool `json:"enabled,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Enabled") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Enabled") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *ShieldedNodes) MarshalJSON() ([]byte, error) {
+	type NoMethod ShieldedNodes
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // StartIPRotationRequest: StartIPRotationRequest creates a new IP for
 // the cluster and then performs
 // a node upgrade on each node pool to point to the new IP.
diff --git a/containeranalysis/v1alpha1/containeranalysis-api.json b/containeranalysis/v1alpha1/containeranalysis-api.json
index 4870dec..12eabf1 100644
--- a/containeranalysis/v1alpha1/containeranalysis-api.json
+++ b/containeranalysis/v1alpha1/containeranalysis-api.json
@@ -601,7 +601,8 @@
                     "PACKAGE_MANAGER",
                     "DEPLOYABLE",
                     "DISCOVERY",
-                    "ATTESTATION_AUTHORITY"
+                    "ATTESTATION_AUTHORITY",
+                    "UPGRADE"
                   ],
                   "location": "query",
                   "type": "string"
@@ -1204,7 +1205,7 @@
       }
     }
   },
-  "revision": "20190627",
+  "revision": "20190805",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "Artifact": {
@@ -1265,7 +1266,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user: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.",
+      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -1283,7 +1284,7 @@
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:foo@gmail.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
@@ -1293,6 +1294,10 @@
           },
           "type": "array"
         },
+        "ignoreChildExemptions": {
+          "description": "Specifies whether principals can be exempted for the same LogType in\nlower-level resource policies. If true, any lower-level exemptions will\nbe ignored.",
+          "type": "boolean"
+        },
         "logType": {
           "description": "The log type that this config enables.",
           "enum": [
@@ -1336,7 +1341,7 @@
           "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",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\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",
           "items": {
             "type": "string"
           },
@@ -1737,7 +1742,8 @@
             "PACKAGE_MANAGER",
             "DEPLOYABLE",
             "DISCOVERY",
-            "ATTESTATION_AUTHORITY"
+            "ATTESTATION_AUTHORITY",
+            "UPGRADE"
           ],
           "enumDescriptions": [
             "Unknown",
@@ -1747,7 +1753,8 @@
             "This represents a package installed via a package manager.",
             "The note and occurrence track deployment events.",
             "The note and occurrence track the initial discovery status of a resource.",
-            "This represents a logical \"role\" that can attest to artifacts."
+            "This represents a logical \"role\" that can attest to artifacts.",
+            "This represents an available software upgrade."
           ],
           "type": "string"
         }
@@ -1876,7 +1883,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+          "description": "Optional. The policy format version to be returned.\nAcceptable values are 0, 1, and 3.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
           "format": "int32",
           "type": "integer"
         }
@@ -1971,7 +1978,7 @@
       "id": "GoogleDevtoolsContaineranalysisV1alpha1GitSourceContext",
       "properties": {
         "revisionId": {
-          "description": "Required.\nGit commit hash.",
+          "description": "Required. Git commit hash.",
           "type": "string"
         },
         "url": {
@@ -2286,7 +2293,8 @@
             "PACKAGE_MANAGER",
             "DEPLOYABLE",
             "DISCOVERY",
-            "ATTESTATION_AUTHORITY"
+            "ATTESTATION_AUTHORITY",
+            "UPGRADE"
           ],
           "enumDescriptions": [
             "Unknown",
@@ -2296,7 +2304,8 @@
             "This represents a package installed via a package manager.",
             "The note and occurrence track deployment events.",
             "The note and occurrence track the initial discovery status of a resource.",
-            "This represents a logical \"role\" that can attest to artifacts."
+            "This represents a logical \"role\" that can attest to artifacts.",
+            "This represents an available software upgrade."
           ],
           "type": "string"
         },
@@ -2305,7 +2314,7 @@
           "type": "string"
         },
         "name": {
-          "description": "The name of the note in the form\n\"providers/{provider_id}/notes/{NOTE_ID}\"",
+          "description": "The name of the note in the form\n\"projects/{provider_project_id}/notes/{NOTE_ID}\"",
           "type": "string"
         },
         "package": {
@@ -2328,6 +2337,10 @@
           "format": "google-datetime",
           "type": "string"
         },
+        "upgrade": {
+          "$ref": "UpgradeNote",
+          "description": "A note describing an upgrade."
+        },
         "vulnerabilityType": {
           "$ref": "VulnerabilityType",
           "description": "A package vulnerability type of note."
@@ -2378,7 +2391,8 @@
             "PACKAGE_MANAGER",
             "DEPLOYABLE",
             "DISCOVERY",
-            "ATTESTATION_AUTHORITY"
+            "ATTESTATION_AUTHORITY",
+            "UPGRADE"
           ],
           "enumDescriptions": [
             "Unknown",
@@ -2388,7 +2402,8 @@
             "This represents a package installed via a package manager.",
             "The note and occurrence track deployment events.",
             "The note and occurrence track the initial discovery status of a resource.",
-            "This represents a logical \"role\" that can attest to artifacts."
+            "This represents a logical \"role\" that can attest to artifacts.",
+            "This represents an available software upgrade."
           ],
           "type": "string"
         },
@@ -2417,6 +2432,10 @@
           "format": "google-datetime",
           "type": "string"
         },
+        "upgrade": {
+          "$ref": "UpgradeOccurrence",
+          "description": "Describes an upgrade."
+        },
         "vulnerabilityDetails": {
           "$ref": "VulnerabilityDetails",
           "description": "Details of a security vulnerability note."
@@ -2541,7 +2560,7 @@
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten.",
           "format": "byte",
           "type": "string"
         },
@@ -2819,6 +2838,73 @@
       },
       "type": "object"
     },
+    "UpgradeDistribution": {
+      "description": "The Upgrade Distribution represents metadata about the Upgrade for each\noperating system (CPE). Some distributions have additional metadata around\nupdates, classifying them into various categories and severities.",
+      "id": "UpgradeDistribution",
+      "properties": {
+        "classification": {
+          "description": "The operating system classification of this Upgrade, as specified by the\nupstream operating system upgrade feed.",
+          "type": "string"
+        },
+        "cpeUri": {
+          "description": "Required - The specific operating system this metadata applies to. See\nhttps://cpe.mitre.org/specification/.",
+          "type": "string"
+        },
+        "cve": {
+          "description": "The cve that would be resolved by this upgrade.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "severity": {
+          "description": "The severity as specified by the upstream operating system.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "UpgradeNote": {
+      "description": "An Upgrade Note represents a potential upgrade of a package to a given\nversion. For each package version combination (i.e. bash 4.0, bash 4.1,\nbash 4.1.2), there will be a Upgrade Note.",
+      "id": "UpgradeNote",
+      "properties": {
+        "distributions": {
+          "description": "Metadata about the upgrade for each specific operating system.",
+          "items": {
+            "$ref": "UpgradeDistribution"
+          },
+          "type": "array"
+        },
+        "package": {
+          "description": "Required - The package this Upgrade is for.",
+          "type": "string"
+        },
+        "version": {
+          "$ref": "Version",
+          "description": "Required - The version of the package in machine + human readable form."
+        }
+      },
+      "type": "object"
+    },
+    "UpgradeOccurrence": {
+      "description": "An Upgrade Occurrence represents that a specific resource_url could install a\nspecific upgrade. This presence is supplied via local sources (i.e. it is\npresent in the mirror and the running system has noticed its availability).",
+      "id": "UpgradeOccurrence",
+      "properties": {
+        "distribution": {
+          "$ref": "UpgradeDistribution",
+          "description": "Metadata about the upgrade for available for the specific operating system\nfor the resource_url. This allows efficient filtering, as well as\nmaking it easier to use the occurrence."
+        },
+        "package": {
+          "description": "Required - The package this Upgrade is for.",
+          "type": "string"
+        },
+        "parsedVersion": {
+          "$ref": "Version",
+          "description": "Required - The version of the package in a machine + human readable form."
+        }
+      },
+      "type": "object"
+    },
     "Version": {
       "description": "Version contains structured information about the version of the package.\nFor a discussion of this in Debian/Ubuntu:\nhttp://serverfault.com/questions/604541/debian-packages-version-convention\nFor a discussion of this in Redhat/Fedora/Centos:\nhttp://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/",
       "id": "Version",
diff --git a/containeranalysis/v1alpha1/containeranalysis-gen.go b/containeranalysis/v1alpha1/containeranalysis-gen.go
index 93dc572..aa1138e 100644
--- a/containeranalysis/v1alpha1/containeranalysis-gen.go
+++ b/containeranalysis/v1alpha1/containeranalysis-gen.go
@@ -446,7 +446,7 @@
 //             {
 //               "log_type": "DATA_READ",
 //               "exempted_members": [
-//                 "user:foo@gmail.com"
+//                 "user:jose@example.com"
 //               ]
 //             },
 //             {
@@ -458,7 +458,7 @@
 //           ]
 //         },
 //         {
-//           "service": "fooservice.googleapis.com"
+//           "service": "sampleservice.googleapis.com"
 //           "audit_log_configs": [
 //             {
 //               "log_type": "DATA_READ",
@@ -466,7 +466,7 @@
 //             {
 //               "log_type": "DATA_WRITE",
 //               "exempted_members": [
-//                 "user:bar@gmail.com"
+//                 "user:aliya@example.com"
 //               ]
 //             }
 //           ]
@@ -474,11 +474,11 @@
 //       ]
 //     }
 //
-// For fooservice, this policy enables DATA_READ, DATA_WRITE and
+// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
 // ADMIN_READ
-// logging. It also exempts foo@gmail.com from DATA_READ logging,
+// logging. It also exempts jose@example.com from DATA_READ logging,
 // and
-// bar@gmail.com from DATA_WRITE logging.
+// aliya@example.com from DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
@@ -524,7 +524,7 @@
 //         {
 //           "log_type": "DATA_READ",
 //           "exempted_members": [
-//             "user:foo@gmail.com"
+//             "user:jose@example.com"
 //           ]
 //         },
 //         {
@@ -535,7 +535,7 @@
 //
 // This enables 'DATA_READ' and 'DATA_WRITE' logging, while
 // exempting
-// foo@gmail.com from DATA_READ logging.
+// jose@example.com from DATA_READ logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
 	// for this type of
@@ -543,6 +543,13 @@
 	// Follows the same format of Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
+	// IgnoreChildExemptions: Specifies whether principals can be exempted
+	// for the same LogType in
+	// lower-level resource policies. If true, any lower-level exemptions
+	// will
+	// be ignored.
+	IgnoreChildExemptions bool `json:"ignoreChildExemptions,omitempty"`
+
 	// LogType: The log type that this config enables.
 	//
 	// Possible values:
@@ -639,7 +646,7 @@
 	//
 	// * `user:{emailid}`: An email address that represents a specific
 	// Google
-	//    account. For example, `alice@gmail.com` .
+	//    account. For example, `alice@example.com` .
 	//
 	//
 	// * `serviceAccount:{emailid}`: An email address that represents a
@@ -1285,6 +1292,7 @@
 	// status of a resource.
 	//   "ATTESTATION_AUTHORITY" - This represents a logical "role" that can
 	// attest to artifacts.
+	//   "UPGRADE" - This represents an available software upgrade.
 	AnalysisKind string `json:"analysisKind,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AnalysisKind") to
@@ -1545,7 +1553,7 @@
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
 	// returned.
-	// Acceptable values are 0 and 1.
+	// Acceptable values are 0, 1, and 3.
 	// If the value is 0, or the field is omitted, policy format version 1
 	// will be
 	// returned.
@@ -1735,8 +1743,7 @@
 // Git
 // repository (e.g., GitHub).
 type GoogleDevtoolsContaineranalysisV1alpha1GitSourceContext struct {
-	// RevisionId: Required.
-	// Git commit hash.
+	// RevisionId: Required. Git commit hash.
 	RevisionId string `json:"revisionId,omitempty"`
 
 	// Url: Git repository URL.
@@ -2261,6 +2268,7 @@
 	// status of a resource.
 	//   "ATTESTATION_AUTHORITY" - This represents a logical "role" that can
 	// attest to artifacts.
+	//   "UPGRADE" - This represents an available software upgrade.
 	Kind string `json:"kind,omitempty"`
 
 	// LongDescription: A detailed description of this `Note`.
@@ -2268,7 +2276,7 @@
 
 	// Name: The name of the note in the
 	// form
-	// "providers/{provider_id}/notes/{NOTE_ID}"
+	// "projects/{provider_project_id}/notes/{NOTE_ID}"
 	Name string `json:"name,omitempty"`
 
 	// Package: A note describing a package hosted by various package
@@ -2286,6 +2294,9 @@
 	// a filter in list requests.
 	UpdateTime string `json:"updateTime,omitempty"`
 
+	// Upgrade: A note describing an upgrade.
+	Upgrade *UpgradeNote `json:"upgrade,omitempty"`
+
 	// VulnerabilityType: A package vulnerability type of note.
 	VulnerabilityType *VulnerabilityType `json:"vulnerabilityType,omitempty"`
 
@@ -2361,6 +2372,7 @@
 	// status of a resource.
 	//   "ATTESTATION_AUTHORITY" - This represents a logical "role" that can
 	// attest to artifacts.
+	//   "UPGRADE" - This represents an available software upgrade.
 	Kind string `json:"kind,omitempty"`
 
 	// Name: Output only. The name of the `Occurrence` in the
@@ -2392,6 +2404,9 @@
 	// UpdateTime: Output only. The time this `Occurrence` was last updated.
 	UpdateTime string `json:"updateTime,omitempty"`
 
+	// Upgrade: Describes an upgrade.
+	Upgrade *UpgradeOccurrence `json:"upgrade,omitempty"`
+
 	// VulnerabilityDetails: Details of a security vulnerability note.
 	VulnerabilityDetails *VulnerabilityDetails `json:"vulnerabilityDetails,omitempty"`
 
@@ -2739,7 +2754,7 @@
 	//
 	// If no `etag` is provided in the call to `setIamPolicy`, then the
 	// existing
-	// policy is overwritten blindly.
+	// policy is overwritten.
 	Etag string `json:"etag,omitempty"`
 
 	// Version: Deprecated.
@@ -3274,6 +3289,136 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// UpgradeDistribution: The Upgrade Distribution represents metadata
+// about the Upgrade for each
+// operating system (CPE). Some distributions have additional metadata
+// around
+// updates, classifying them into various categories and severities.
+type UpgradeDistribution struct {
+	// Classification: The operating system classification of this Upgrade,
+	// as specified by the
+	// upstream operating system upgrade feed.
+	Classification string `json:"classification,omitempty"`
+
+	// CpeUri: Required - The specific operating system this metadata
+	// applies to. See
+	// https://cpe.mitre.org/specification/.
+	CpeUri string `json:"cpeUri,omitempty"`
+
+	// Cve: The cve that would be resolved by this upgrade.
+	Cve []string `json:"cve,omitempty"`
+
+	// Severity: The severity as specified by the upstream operating system.
+	Severity string `json:"severity,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Classification") 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. "Classification") 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 *UpgradeDistribution) MarshalJSON() ([]byte, error) {
+	type NoMethod UpgradeDistribution
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// UpgradeNote: An Upgrade Note represents a potential upgrade of a
+// package to a given
+// version. For each package version combination (i.e. bash 4.0, bash
+// 4.1,
+// bash 4.1.2), there will be a Upgrade Note.
+type UpgradeNote struct {
+	// Distributions: Metadata about the upgrade for each specific operating
+	// system.
+	Distributions []*UpgradeDistribution `json:"distributions,omitempty"`
+
+	// Package: Required - The package this Upgrade is for.
+	Package string `json:"package,omitempty"`
+
+	// Version: Required - The version of the package in machine + human
+	// readable form.
+	Version *Version `json:"version,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Distributions") 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. "Distributions") 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 *UpgradeNote) MarshalJSON() ([]byte, error) {
+	type NoMethod UpgradeNote
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// UpgradeOccurrence: An Upgrade Occurrence represents that a specific
+// resource_url could install a
+// specific upgrade. This presence is supplied via local sources (i.e.
+// it is
+// present in the mirror and the running system has noticed its
+// availability).
+type UpgradeOccurrence struct {
+	// Distribution: Metadata about the upgrade for available for the
+	// specific operating system
+	// for the resource_url. This allows efficient filtering, as well
+	// as
+	// making it easier to use the occurrence.
+	Distribution *UpgradeDistribution `json:"distribution,omitempty"`
+
+	// Package: Required - The package this Upgrade is for.
+	Package string `json:"package,omitempty"`
+
+	// ParsedVersion: Required - The version of the package in a machine +
+	// human readable form.
+	ParsedVersion *Version `json:"parsedVersion,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Distribution") 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. "Distribution") 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 *UpgradeOccurrence) MarshalJSON() ([]byte, error) {
+	type NoMethod UpgradeOccurrence
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // Version: Version contains structured information about the version of
 // the package.
 // For a discussion of this in
@@ -5928,6 +6073,7 @@
 //   "DEPLOYABLE"
 //   "DISCOVERY"
 //   "ATTESTATION_AUTHORITY"
+//   "UPGRADE"
 func (c *ProjectsOccurrencesListCall) Kind(kind string) *ProjectsOccurrencesListCall {
 	c.urlParams_.Set("kind", kind)
 	return c
@@ -6078,7 +6224,8 @@
 	//         "PACKAGE_MANAGER",
 	//         "DEPLOYABLE",
 	//         "DISCOVERY",
-	//         "ATTESTATION_AUTHORITY"
+	//         "ATTESTATION_AUTHORITY",
+	//         "UPGRADE"
 	//       ],
 	//       "location": "query",
 	//       "type": "string"
diff --git a/containeranalysis/v1beta1/containeranalysis-api.json b/containeranalysis/v1beta1/containeranalysis-api.json
index a109a39..b2a11ff 100644
--- a/containeranalysis/v1beta1/containeranalysis-api.json
+++ b/containeranalysis/v1beta1/containeranalysis-api.json
@@ -852,7 +852,7 @@
       }
     }
   },
-  "revision": "20190627",
+  "revision": "20190805",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "AliasContext": {
@@ -919,7 +919,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user: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.",
+      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -937,7 +937,7 @@
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:foo@gmail.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
@@ -947,6 +947,10 @@
           },
           "type": "array"
         },
+        "ignoreChildExemptions": {
+          "description": "Specifies whether principals can be exempted for the same LogType in\nlower-level resource policies. If true, any lower-level exemptions will\nbe ignored.",
+          "type": "boolean"
+        },
         "logType": {
           "description": "The log type that this config enables.",
           "enum": [
@@ -1057,7 +1061,7 @@
           "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",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n\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",
           "items": {
             "type": "string"
           },
@@ -1518,6 +1522,11 @@
         "severityName": {
           "description": "The severity (eg: distro assigned severity) for this vulnerability.",
           "type": "string"
+        },
+        "sourceUpdateTime": {
+          "description": "The time this information was last changed at the source. This is an\nupstream timestamp from the underlying information source - e.g. Ubuntu\nsecurity tracker.",
+          "format": "google-datetime",
+          "type": "string"
         }
       },
       "type": "object"
@@ -1831,7 +1840,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+          "description": "Optional. The policy format version to be returned.\nAcceptable values are 0, 1, and 3.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
           "format": "int32",
           "type": "integer"
         }
@@ -2488,7 +2497,7 @@
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten.",
           "format": "byte",
           "type": "string"
         },
@@ -2811,6 +2820,11 @@
           ],
           "type": "string"
         },
+        "sourceUpdateTime": {
+          "description": "The time this information was last changed at the source. This is an\nupstream timestamp from the underlying information source - e.g. Ubuntu\nsecurity tracker.",
+          "format": "google-datetime",
+          "type": "string"
+        },
         "windowsDetails": {
           "description": "Windows details get their own format because the information format and\nmodel don't match a normal detail. Specifically Windows updates are done as\npatches, thus Windows vulnerabilities really are a missing package, rather\nthan a package being at an incorrect version.",
           "items": {
diff --git a/containeranalysis/v1beta1/containeranalysis-gen.go b/containeranalysis/v1beta1/containeranalysis-gen.go
index e0890ee..34fd80e 100644
--- a/containeranalysis/v1beta1/containeranalysis-gen.go
+++ b/containeranalysis/v1beta1/containeranalysis-gen.go
@@ -342,7 +342,7 @@
 //             {
 //               "log_type": "DATA_READ",
 //               "exempted_members": [
-//                 "user:foo@gmail.com"
+//                 "user:jose@example.com"
 //               ]
 //             },
 //             {
@@ -354,7 +354,7 @@
 //           ]
 //         },
 //         {
-//           "service": "fooservice.googleapis.com"
+//           "service": "sampleservice.googleapis.com"
 //           "audit_log_configs": [
 //             {
 //               "log_type": "DATA_READ",
@@ -362,7 +362,7 @@
 //             {
 //               "log_type": "DATA_WRITE",
 //               "exempted_members": [
-//                 "user:bar@gmail.com"
+//                 "user:aliya@example.com"
 //               ]
 //             }
 //           ]
@@ -370,11 +370,11 @@
 //       ]
 //     }
 //
-// For fooservice, this policy enables DATA_READ, DATA_WRITE and
+// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
 // ADMIN_READ
-// logging. It also exempts foo@gmail.com from DATA_READ logging,
+// logging. It also exempts jose@example.com from DATA_READ logging,
 // and
-// bar@gmail.com from DATA_WRITE logging.
+// aliya@example.com from DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
@@ -420,7 +420,7 @@
 //         {
 //           "log_type": "DATA_READ",
 //           "exempted_members": [
-//             "user:foo@gmail.com"
+//             "user:jose@example.com"
 //           ]
 //         },
 //         {
@@ -431,7 +431,7 @@
 //
 // This enables 'DATA_READ' and 'DATA_WRITE' logging, while
 // exempting
-// foo@gmail.com from DATA_READ logging.
+// jose@example.com from DATA_READ logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
 	// for this type of
@@ -439,6 +439,13 @@
 	// Follows the same format of Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
+	// IgnoreChildExemptions: Specifies whether principals can be exempted
+	// for the same LogType in
+	// lower-level resource policies. If true, any lower-level exemptions
+	// will
+	// be ignored.
+	IgnoreChildExemptions bool `json:"ignoreChildExemptions,omitempty"`
+
 	// LogType: The log type that this config enables.
 	//
 	// Possible values:
@@ -699,7 +706,7 @@
 	//
 	// * `user:{emailid}`: An email address that represents a specific
 	// Google
-	//    account. For example, `alice@gmail.com` .
+	//    account. For example, `alice@example.com` .
 	//
 	//
 	// * `serviceAccount:{emailid}`: An email address that represents a
@@ -1308,6 +1315,13 @@
 	// vulnerability.
 	SeverityName string `json:"severityName,omitempty"`
 
+	// SourceUpdateTime: The time this information was last changed at the
+	// source. This is an
+	// upstream timestamp from the underlying information source - e.g.
+	// Ubuntu
+	// security tracker.
+	SourceUpdateTime string `json:"sourceUpdateTime,omitempty"`
+
 	// ForceSendFields is a list of field names (e.g. "CpeUri") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
@@ -1858,7 +1872,7 @@
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
 	// returned.
-	// Acceptable values are 0 and 1.
+	// Acceptable values are 0, 1, and 3.
 	// If the value is 0, or the field is omitted, policy format version 1
 	// will be
 	// returned.
@@ -3050,7 +3064,7 @@
 	//
 	// If no `etag` is provided in the call to `setIamPolicy`, then the
 	// existing
-	// policy is overwritten blindly.
+	// policy is overwritten.
 	Etag string `json:"etag,omitempty"`
 
 	// Version: Deprecated.
@@ -3709,6 +3723,13 @@
 	//   "CRITICAL" - Critical severity.
 	Severity string `json:"severity,omitempty"`
 
+	// SourceUpdateTime: The time this information was last changed at the
+	// source. This is an
+	// upstream timestamp from the underlying information source - e.g.
+	// Ubuntu
+	// security tracker.
+	SourceUpdateTime string `json:"sourceUpdateTime,omitempty"`
+
 	// WindowsDetails: Windows details get their own format because the
 	// information format and
 	// model don't match a normal detail. Specifically Windows updates are
diff --git a/dialogflow/v2/dialogflow-api.json b/dialogflow/v2/dialogflow-api.json
index b890ce8..a6eb05f 100644
--- a/dialogflow/v2/dialogflow-api.json
+++ b/dialogflow/v2/dialogflow-api.json
@@ -1406,7 +1406,7 @@
       }
     }
   },
-  "revision": "20190801",
+  "revision": "20190730",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowV2Agent": {
@@ -4470,41 +4470,6 @@
       },
       "type": "object"
     },
-    "GoogleCloudDialogflowV2beta1ModelEvaluationMetadata": {
-      "description": "The status update for performing NLU model evaluation given a dataset.\nMetadata of the returned long running operation for\nModelEvaluations.EvaluateModel.",
-      "id": "GoogleCloudDialogflowV2beta1ModelEvaluationMetadata",
-      "properties": {
-        "samplesWithIntentDetected": {
-          "description": "Optional. Number of samples that have already received the predicted\nintents from Dialogflow server.",
-          "format": "int32",
-          "type": "integer"
-        },
-        "state": {
-          "description": "Required. Represents the job that the batch worker is currently working on.",
-          "enum": [
-            "STATE_UNSPECIFIED",
-            "PARSING_DATASET",
-            "DETECTING_INTENTS",
-            "CALCULATING_METRICS",
-            "SUCCESS"
-          ],
-          "enumDescriptions": [
-            "Not specified. This value should never be used.",
-            "Parsing the customer-provided dataset in Cloud Storage, which is a CVS\nfile.",
-            "Calling the Dialogflow backend server to detect the corresponding intent\nfor each query.",
-            "Calculating the evaluation metrics for the dataset.",
-            "Job succeeded."
-          ],
-          "type": "string"
-        },
-        "totalSamples": {
-          "description": "Required. Total number of samples in the dataset.",
-          "format": "int32",
-          "type": "integer"
-        }
-      },
-      "type": "object"
-    },
     "GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest": {
       "description": "Represents the contents of the original request that was passed to\nthe `[Streaming]DetectIntent` call.",
       "id": "GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest",
diff --git a/dialogflow/v2/dialogflow-gen.go b/dialogflow/v2/dialogflow-gen.go
index 105149f..b875cf6 100644
--- a/dialogflow/v2/dialogflow-gen.go
+++ b/dialogflow/v2/dialogflow-gen.go
@@ -6493,62 +6493,6 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudDialogflowV2beta1ModelEvaluationMetadata: The status
-// update for performing NLU model evaluation given a dataset.
-// Metadata of the returned long running operation
-// for
-// ModelEvaluations.EvaluateModel.
-type GoogleCloudDialogflowV2beta1ModelEvaluationMetadata struct {
-	// SamplesWithIntentDetected: Optional. Number of samples that have
-	// already received the predicted
-	// intents from Dialogflow server.
-	SamplesWithIntentDetected int64 `json:"samplesWithIntentDetected,omitempty"`
-
-	// State: Required. Represents the job that the batch worker is
-	// currently working on.
-	//
-	// Possible values:
-	//   "STATE_UNSPECIFIED" - Not specified. This value should never be
-	// used.
-	//   "PARSING_DATASET" - Parsing the customer-provided dataset in Cloud
-	// Storage, which is a CVS
-	// file.
-	//   "DETECTING_INTENTS" - Calling the Dialogflow backend server to
-	// detect the corresponding intent
-	// for each query.
-	//   "CALCULATING_METRICS" - Calculating the evaluation metrics for the
-	// dataset.
-	//   "SUCCESS" - Job succeeded.
-	State string `json:"state,omitempty"`
-
-	// TotalSamples: Required. Total number of samples in the dataset.
-	TotalSamples int64 `json:"totalSamples,omitempty"`
-
-	// ForceSendFields is a list of field names (e.g.
-	// "SamplesWithIntentDetected") 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.
-	// "SamplesWithIntentDetected") 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 *GoogleCloudDialogflowV2beta1ModelEvaluationMetadata) MarshalJSON() ([]byte, error) {
-	type NoMethod GoogleCloudDialogflowV2beta1ModelEvaluationMetadata
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
 // GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest: Represents
 // the contents of the original request that was passed to
 // the `[Streaming]DetectIntent` call.
diff --git a/dialogflow/v2beta1/dialogflow-api.json b/dialogflow/v2beta1/dialogflow-api.json
index 018eb4c..100c69a 100644
--- a/dialogflow/v2beta1/dialogflow-api.json
+++ b/dialogflow/v2beta1/dialogflow-api.json
@@ -2489,7 +2489,7 @@
       }
     }
   },
-  "revision": "20190801",
+  "revision": "20190730",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowV2BatchUpdateEntityTypesResponse": {
@@ -5421,41 +5421,6 @@
       },
       "type": "object"
     },
-    "GoogleCloudDialogflowV2beta1ModelEvaluationMetadata": {
-      "description": "The status update for performing NLU model evaluation given a dataset.\nMetadata of the returned long running operation for\nModelEvaluations.EvaluateModel.",
-      "id": "GoogleCloudDialogflowV2beta1ModelEvaluationMetadata",
-      "properties": {
-        "samplesWithIntentDetected": {
-          "description": "Optional. Number of samples that have already received the predicted\nintents from Dialogflow server.",
-          "format": "int32",
-          "type": "integer"
-        },
-        "state": {
-          "description": "Required. Represents the job that the batch worker is currently working on.",
-          "enum": [
-            "STATE_UNSPECIFIED",
-            "PARSING_DATASET",
-            "DETECTING_INTENTS",
-            "CALCULATING_METRICS",
-            "SUCCESS"
-          ],
-          "enumDescriptions": [
-            "Not specified. This value should never be used.",
-            "Parsing the customer-provided dataset in Cloud Storage, which is a CVS\nfile.",
-            "Calling the Dialogflow backend server to detect the corresponding intent\nfor each query.",
-            "Calculating the evaluation metrics for the dataset.",
-            "Job succeeded."
-          ],
-          "type": "string"
-        },
-        "totalSamples": {
-          "description": "Required. Total number of samples in the dataset.",
-          "format": "int32",
-          "type": "integer"
-        }
-      },
-      "type": "object"
-    },
     "GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest": {
       "description": "Represents the contents of the original request that was passed to\nthe `[Streaming]DetectIntent` call.",
       "id": "GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest",
diff --git a/dialogflow/v2beta1/dialogflow-gen.go b/dialogflow/v2beta1/dialogflow-gen.go
index 837a7ec..47a8c86 100644
--- a/dialogflow/v2beta1/dialogflow-gen.go
+++ b/dialogflow/v2beta1/dialogflow-gen.go
@@ -6318,62 +6318,6 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudDialogflowV2beta1ModelEvaluationMetadata: The status
-// update for performing NLU model evaluation given a dataset.
-// Metadata of the returned long running operation
-// for
-// ModelEvaluations.EvaluateModel.
-type GoogleCloudDialogflowV2beta1ModelEvaluationMetadata struct {
-	// SamplesWithIntentDetected: Optional. Number of samples that have
-	// already received the predicted
-	// intents from Dialogflow server.
-	SamplesWithIntentDetected int64 `json:"samplesWithIntentDetected,omitempty"`
-
-	// State: Required. Represents the job that the batch worker is
-	// currently working on.
-	//
-	// Possible values:
-	//   "STATE_UNSPECIFIED" - Not specified. This value should never be
-	// used.
-	//   "PARSING_DATASET" - Parsing the customer-provided dataset in Cloud
-	// Storage, which is a CVS
-	// file.
-	//   "DETECTING_INTENTS" - Calling the Dialogflow backend server to
-	// detect the corresponding intent
-	// for each query.
-	//   "CALCULATING_METRICS" - Calculating the evaluation metrics for the
-	// dataset.
-	//   "SUCCESS" - Job succeeded.
-	State string `json:"state,omitempty"`
-
-	// TotalSamples: Required. Total number of samples in the dataset.
-	TotalSamples int64 `json:"totalSamples,omitempty"`
-
-	// ForceSendFields is a list of field names (e.g.
-	// "SamplesWithIntentDetected") 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.
-	// "SamplesWithIntentDetected") 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 *GoogleCloudDialogflowV2beta1ModelEvaluationMetadata) MarshalJSON() ([]byte, error) {
-	type NoMethod GoogleCloudDialogflowV2beta1ModelEvaluationMetadata
-	raw := NoMethod(*s)
-	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
 // GoogleCloudDialogflowV2beta1OriginalDetectIntentRequest: Represents
 // the contents of the original request that was passed to
 // the `[Streaming]DetectIntent` call.
diff --git a/logging/v2/logging-api.json b/logging/v2/logging-api.json
index bdb7364..4b60b8e 100644
--- a/logging/v2/logging-api.json
+++ b/logging/v2/logging-api.json
@@ -2535,7 +2535,7 @@
       }
     }
   },
-  "revision": "20190608",
+  "revision": "20190803",
   "rootUrl": "https://logging.googleapis.com/",
   "schemas": {
     "BucketOptions": {
@@ -2820,7 +2820,7 @@
       "id": "ListLogsResponse",
       "properties": {
         "logNames": {
-          "description": "A list of log names. For example, \"projects/my-project/syslog\" or \"organizations/123/cloudresourcemanager.googleapis.com%2Factivity\".",
+          "description": "A list of log names. For example, \"projects/my-project/logs/syslog\" or \"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity\".",
           "items": {
             "type": "string"
           },
diff --git a/logging/v2/logging-gen.go b/logging/v2/logging-gen.go
index 91dd21f..0021bc0 100644
--- a/logging/v2/logging-gen.go
+++ b/logging/v2/logging-gen.go
@@ -950,8 +950,9 @@
 // ListLogsResponse: Result returned from ListLogs.
 type ListLogsResponse struct {
 	// LogNames: A list of log names. For example,
-	// "projects/my-project/syslog" or
-	// "organizations/123/cloudresourcemanager.googleapis.com%2Factivity".
+	// "projects/my-project/logs/syslog" or
+	// "organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity
+	// ".
 	LogNames []string `json:"logNames,omitempty"`
 
 	// NextPageToken: If there might be more results than those appearing in
diff --git a/monitoring/v3/monitoring-api.json b/monitoring/v3/monitoring-api.json
index 0dc5ee9..70b7e1b 100644
--- a/monitoring/v3/monitoring-api.json
+++ b/monitoring/v3/monitoring-api.json
@@ -1457,7 +1457,7 @@
       }
     }
   },
-  "revision": "20190622",
+  "revision": "20190805",
   "rootUrl": "https://monitoring.googleapis.com/",
   "schemas": {
     "Aggregation": {
@@ -1625,6 +1625,10 @@
           },
           "description": "User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.",
           "type": "object"
+        },
+        "validity": {
+          "$ref": "Status",
+          "description": "Read-only description of how the alert policy is invalid. OK if the alert policy is valid. If not OK, the alert policy will not generate incidents."
         }
       },
       "type": "object"
@@ -1812,6 +1816,24 @@
         "content": {
           "description": "String or regex content to match (max 1024 bytes)",
           "type": "string"
+        },
+        "matcher": {
+          "description": "The matcher representing content match options which the check will run with. If the field is not specified (in previous versions), the option is set to be CONTAINS_STRING which performs content substring matching.",
+          "enum": [
+            "CONTENT_MATCHER_OPTION_UNSPECIFIED",
+            "CONTAINS_STRING",
+            "NOT_CONTAINS_STRING",
+            "MATCHES_REGEX",
+            "NOT_MATCHES_REGEX"
+          ],
+          "enumDescriptions": [
+            "No content macher option specified. Treated as CONTAINS_STRING.",
+            "Allows checking substring matching. Default value for previous versions without option.",
+            "Allows checking negation of substring matching (doesn't contain the substring).",
+            "Allows checking regular expression matching.",
+            "Allows checking negation of regular expression matching."
+          ],
+          "type": "string"
         }
       },
       "type": "object"
@@ -2203,6 +2225,10 @@
         "useSsl": {
           "description": "If true, use HTTPS instead of HTTP to run the check.",
           "type": "boolean"
+        },
+        "validateSsl": {
+          "description": "Boolean specifying whether to validate SSL certificates. Only applies to uptime_url checks. If use_ssl is false, setting this to true has no effect.",
+          "type": "boolean"
         }
       },
       "type": "object"
diff --git a/monitoring/v3/monitoring-gen.go b/monitoring/v3/monitoring-gen.go
index 77d64ff..67d58e5 100644
--- a/monitoring/v3/monitoring-gen.go
+++ b/monitoring/v3/monitoring-gen.go
@@ -619,6 +619,11 @@
 	// with a letter.
 	UserLabels map[string]string `json:"userLabels,omitempty"`
 
+	// Validity: Read-only description of how the alert policy is invalid.
+	// OK if the alert policy is valid. If not OK, the alert policy will not
+	// generate incidents.
+	Validity *Status `json:"validity,omitempty"`
+
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
 	googleapi.ServerResponse `json:"-"`
@@ -968,6 +973,23 @@
 	// Content: String or regex content to match (max 1024 bytes)
 	Content string `json:"content,omitempty"`
 
+	// Matcher: The matcher representing content match options which the
+	// check will run with. If the field is not specified (in previous
+	// versions), the option is set to be CONTAINS_STRING which performs
+	// content substring matching.
+	//
+	// Possible values:
+	//   "CONTENT_MATCHER_OPTION_UNSPECIFIED" - No content macher option
+	// specified. Treated as CONTAINS_STRING.
+	//   "CONTAINS_STRING" - Allows checking substring matching. Default
+	// value for previous versions without option.
+	//   "NOT_CONTAINS_STRING" - Allows checking negation of substring
+	// matching (doesn't contain the substring).
+	//   "MATCHES_REGEX" - Allows checking regular expression matching.
+	//   "NOT_MATCHES_REGEX" - Allows checking negation of regular
+	// expression matching.
+	Matcher string `json:"matcher,omitempty"`
+
 	// ForceSendFields is a list of field names (e.g. "Content") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
@@ -1721,6 +1743,11 @@
 	// UseSsl: If true, use HTTPS instead of HTTP to run the check.
 	UseSsl bool `json:"useSsl,omitempty"`
 
+	// ValidateSsl: Boolean specifying whether to validate SSL certificates.
+	// Only applies to uptime_url checks. If use_ssl is false, setting this
+	// to true has no effect.
+	ValidateSsl bool `json:"validateSsl,omitempty"`
+
 	// ForceSendFields is a list of field names (e.g. "AuthInfo") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
diff --git a/runtimeconfig/v1beta1/runtimeconfig-api.json b/runtimeconfig/v1beta1/runtimeconfig-api.json
index 68c7204..1a846d5 100644
--- a/runtimeconfig/v1beta1/runtimeconfig-api.json
+++ b/runtimeconfig/v1beta1/runtimeconfig-api.json
@@ -207,7 +207,7 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+                  "description": "Optional. The policy format version to be returned.\nAcceptable values are 0, 1, and 3.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
@@ -804,7 +804,7 @@
       }
     }
   },
-  "revision": "20190708",
+  "revision": "20190805",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/runtimeconfig/v1beta1/runtimeconfig-gen.go b/runtimeconfig/v1beta1/runtimeconfig-gen.go
index ebc45b2..a711e36 100644
--- a/runtimeconfig/v1beta1/runtimeconfig-gen.go
+++ b/runtimeconfig/v1beta1/runtimeconfig-gen.go
@@ -1675,7 +1675,7 @@
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
 // returned.
-// Acceptable values are 0 and 1.
+// Acceptable values are 0, 1, and 3.
 // If the value is 0, or the field is omitted, policy format version 1
 // will be
 // returned.
@@ -1792,7 +1792,7 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\nAcceptable values are 0 and 1.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
+	//       "description": "Optional. The policy format version to be returned.\nAcceptable values are 0, 1, and 3.\nIf the value is 0, or the field is omitted, policy format version 1 will be\nreturned.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"