Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/compute_alpha.interconnectLocations.html b/docs/dyn/compute_alpha.interconnectLocations.html
index 09210b3..962e934 100644
--- a/docs/dyn/compute_alpha.interconnectLocations.html
+++ b/docs/dyn/compute_alpha.interconnectLocations.html
@@ -76,7 +76,7 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#get">get(project, interconnectLocation)</a></code></p>
-<p class="firstline">Returns the details for the specified interconnect location. Get a list of available interconnect locations by making a list() request.</p>
+<p class="firstline">Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.</p>
 <p class="toc_element">
   <code><a href="#list">list(project, orderBy=None, maxResults=None, pageToken=None, filter=None)</a></code></p>
 <p class="firstline">Retrieves the list of interconnect locations available to the specified project.</p>
@@ -89,7 +89,7 @@
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="get">get(project, interconnectLocation)</code>
-  <pre>Returns the details for the specified interconnect location. Get a list of available interconnect locations by making a list() request.
+  <pre>Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -98,25 +98,36 @@
 Returns:
   An object of the form:
 
-    { # Protocol definitions for Mixer API to support InterconnectLocation.
-    "city": "A String", # City designator used by the Interconnect UI to locate this InterconnectLocation within the Continent. For example: "Chicago, IL", "Amsterdam, Netherlands".
+    { # Represents an Interconnect Attachment (VLAN) Location resource.
+      #
+      # You can use this resource to find location details about an Interconnect attachment (VLAN). For more information about interconnect attachments, read  Creating VLAN Attachments.
+    "status": "A String", # [Output Only] The status of this InterconnectLocation, which can take one of the following values:
+        # - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects.
+        # - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects.
+    "city": "A String", # [Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
     "kind": "compute#interconnectLocation", # [Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.
-    "availabilityZone": "A String", # Availability zone for this location. Within a city, maintenance will not be simultaneously scheduled in more than one availability zone. Example: "zone1" or "zone2".
+    "availabilityZone": "A String", # [Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: "zone1" or "zone2".
     "description": "A String", # [Output Only] An optional description of the resource.
     "peeringdbFacilityId": "A String", # [Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).
     "facilityProvider": "A String", # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
     "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     "regionInfos": [ # [Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.
       { # Information about any potential InterconnectAttachments between an Interconnect at a specific InterconnectLocation, and a specific Cloud Region.
-        "regionKey": "A String", # Scope key for the region of this location.
         "locationPresence": "A String", # Identifies the network presence of this location.
+        "region": "A String", # URL for the region of this location.
         "expectedRttMs": "A String", # Expected round-trip time in milliseconds, from this InterconnectLocation to a VM in this region.
       },
     ],
     "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
     "address": "A String", # [Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.
+    "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id.
     "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
-    "continent": "A String", # Continent for this location. Used by the location picker in the Interconnect UI.
+    "continent": "A String", # [Output Only] Continent for this location, which can take one of the following values:
+        # - AFRICA
+        # - ASIA_PAC
+        # - EUROPE
+        # - NORTH_AMERICA
+        # - SOUTH_AMERICA
     "facilityProviderFacilityId": "A String", # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).
     "name": "A String", # [Output Only] Name of the resource.
   }</pre>
@@ -135,47 +146,67 @@
 Currently, only sorting by name or creationTimestamp desc is supported.
   maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
   pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.
-  filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.
+  filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either =, !=, >, or <.
 
-The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.
+For example, if you are filtering Compute Engine instances, you can exclude instances named example-instance by specifying name != example-instance.
 
-For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.
+You can also filter nested fields. For example, you could specify scheduling.automaticRestart = false to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
 
-You can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.
-
-To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.
+To filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake"). By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly. For example, (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true).
 
 Returns:
   An object of the form:
 
     { # Response to the list request, and contains a list of interconnect locations.
     "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
-    "items": [ # [Output Only] A list of InterconnectLocation resources.
-      { # Protocol definitions for Mixer API to support InterconnectLocation.
-        "city": "A String", # City designator used by the Interconnect UI to locate this InterconnectLocation within the Continent. For example: "Chicago, IL", "Amsterdam, Netherlands".
+    "kind": "compute#interconnectLocationList", # [Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.
+    "items": [ # A list of InterconnectLocation resources.
+      { # Represents an Interconnect Attachment (VLAN) Location resource.
+          #
+          # You can use this resource to find location details about an Interconnect attachment (VLAN). For more information about interconnect attachments, read  Creating VLAN Attachments.
+        "status": "A String", # [Output Only] The status of this InterconnectLocation, which can take one of the following values:
+            # - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects.
+            # - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects.
+        "city": "A String", # [Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
         "kind": "compute#interconnectLocation", # [Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.
-        "availabilityZone": "A String", # Availability zone for this location. Within a city, maintenance will not be simultaneously scheduled in more than one availability zone. Example: "zone1" or "zone2".
+        "availabilityZone": "A String", # [Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: "zone1" or "zone2".
         "description": "A String", # [Output Only] An optional description of the resource.
         "peeringdbFacilityId": "A String", # [Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).
         "facilityProvider": "A String", # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
         "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
         "regionInfos": [ # [Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.
           { # Information about any potential InterconnectAttachments between an Interconnect at a specific InterconnectLocation, and a specific Cloud Region.
-            "regionKey": "A String", # Scope key for the region of this location.
             "locationPresence": "A String", # Identifies the network presence of this location.
+            "region": "A String", # URL for the region of this location.
             "expectedRttMs": "A String", # Expected round-trip time in milliseconds, from this InterconnectLocation to a VM in this region.
           },
         ],
         "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
         "address": "A String", # [Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.
+        "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id.
         "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
-        "continent": "A String", # Continent for this location. Used by the location picker in the Interconnect UI.
+        "continent": "A String", # [Output Only] Continent for this location, which can take one of the following values:
+            # - AFRICA
+            # - ASIA_PAC
+            # - EUROPE
+            # - NORTH_AMERICA
+            # - SOUTH_AMERICA
         "facilityProviderFacilityId": "A String", # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).
         "name": "A String", # [Output Only] Name of the resource.
       },
     ],
-    "kind": "compute#interconnectLocationList", # [Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.
-    "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+    "warning": { # [Output Only] Informational warning message.
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+        {
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+        },
+      ],
+    },
+    "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
     "selfLink": "A String", # [Output Only] Server-defined URL for this resource.
   }</pre>
 </div>
@@ -200,7 +231,7 @@
 
 Args:
   project: string, Project ID for this request. (required)
-  resource: string, Name of the resource for this request. (required)
+  resource: string, Name or id of the resource for this request. (required)
   body: object, The request body. (required)
     The object takes the form of: