Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/vault_v1.matters.savedQueries.html b/docs/dyn/vault_v1.matters.savedQueries.html
new file mode 100644
index 0000000..3e7e800
--- /dev/null
+++ b/docs/dyn/vault_v1.matters.savedQueries.html
@@ -0,0 +1,505 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="vault_v1.html">G Suite Vault API</a> . <a href="vault_v1.matters.html">matters</a> . <a href="vault_v1.matters.savedQueries.html">savedQueries</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(matterId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a saved query.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(matterId, savedQueryId, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a saved query by Id.</p>
+<p class="toc_element">
+  <code><a href="#get">get(matterId, savedQueryId, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves a saved query by Id.</p>
+<p class="toc_element">
+  <code><a href="#list">list(matterId, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists saved queries within a matter. An empty page token in</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(matterId, body, x__xgafv=None)</code>
+  <pre>Creates a saved query.
+
+Args:
+  matterId: string, The matter id of the parent matter for which the saved query is to be
+created. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Definition of the saved query.
+    "matterId": "A String", # Output only. The matter id of the associated matter.
+        # The server does not look at this field during create and always uses matter
+        # id in the URL.
+    "query": { # A query definition relevant for search & export. # The underlying Query object which contains all the information of the saved
+        # query.
+      "terms": "A String", # The corpus-specific
+          # <a href="https://support.google.com/vault/answer/2474474">search
+          # operators</a> used to generate search results.
+      "sharedDriveInfo": { # Shared drives to search # When 'SHARED_DRIVE' is chosen as search method, shared_drive_info needs
+          # to be specified.
+        "sharedDriveIds": [ # List of Shared drive ids, as provided by <a
+            # href="https://developers.google.com/drive">Drive API</a>.
+          "A String",
+        ],
+      },
+      "teamDriveInfo": { # Team Drives to search # When 'TEAM_DRIVE' is chosen as search method, team_drive_info needs to be
+          # specified.
+        "teamDriveIds": [ # List of Team Drive ids, as provided by <a
+            # href="https://developers.google.com/drive">Drive API</a>.
+          "A String",
+        ],
+      },
+      "mailOptions": { # Mail search advanced options # For mail search, specify more options in this field.
+        "excludeDrafts": True or False, # Set to true to exclude drafts.
+      },
+      "searchMethod": "A String", # The search method to use.
+      "hangoutsChatInfo": { # Accounts to search # When 'ROOM' is chosen as search method, hangout_chats_info needs to be
+          # specified. (read-only)
+        "roomId": [ # A set of rooms to search.
+          "A String",
+        ],
+      },
+      "method": "A String", # The search method to use. This field is similar to the search_method field
+          # but is introduced to support shared drives. It supports all
+          # search method types. In case the search_method is TEAM_DRIVE the response
+          # of this field will be SHARED_DRIVE only.
+      "accountInfo": { # Accounts to search # When 'ACCOUNT' is chosen as search method,
+          # account_info needs to be specified.
+        "emails": [ # A set of accounts to search.
+          "A String",
+        ],
+      },
+      "hangoutsChatOptions": { # Hangouts chat search advanced options # For hangouts chat search, specify more options in this field. (read-only)
+        "includeRooms": True or False, # Set to true to include rooms.
+      },
+      "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+      "orgUnitInfo": { # Org Unit to search # When 'ORG_UNIT' is chosen as as search method, org_unit_info needs
+          # to be specified.
+        "orgUnitId": "A String", # Org unit to search, as provided by the
+            # <a href="https://developers.google.com/admin-sdk/directory/">Admin SDK
+            # Directory API</a>.
+      },
+      "timeZone": "A String", # The time zone name.
+          # It should be an IANA TZ name, such as "America/Los_Angeles".
+          # For more information, see
+          # <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Time
+          # Zone</a>.
+      "corpus": "A String", # The corpus to search.
+      "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+          # rounded down to the start of the given date.
+      "dataScope": "A String", # The data source to search from.
+      "driveOptions": { # Drive search advanced options # For Drive search, specify more options in this field.
+        "includeSharedDrives": True or False, # Set to true to include shared drive.
+        "versionDate": "A String", # Search the versions of the Drive file
+            # as of the reference date. These timestamps are in GMT and
+            # rounded down to the given date.
+        "includeTeamDrives": True or False, # Set to true to include Team Drive.
+      },
+    },
+    "savedQueryId": "A String", # A unique identifier for the saved query.
+    "displayName": "A String", # Name of the saved query.
+    "createTime": "A String", # Output only. The server generated timestamp at which saved query was
+        # created.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Definition of the saved query.
+      "matterId": "A String", # Output only. The matter id of the associated matter.
+          # The server does not look at this field during create and always uses matter
+          # id in the URL.
+      "query": { # A query definition relevant for search & export. # The underlying Query object which contains all the information of the saved
+          # query.
+        "terms": "A String", # The corpus-specific
+            # <a href="https://support.google.com/vault/answer/2474474">search
+            # operators</a> used to generate search results.
+        "sharedDriveInfo": { # Shared drives to search # When 'SHARED_DRIVE' is chosen as search method, shared_drive_info needs
+            # to be specified.
+          "sharedDriveIds": [ # List of Shared drive ids, as provided by <a
+              # href="https://developers.google.com/drive">Drive API</a>.
+            "A String",
+          ],
+        },
+        "teamDriveInfo": { # Team Drives to search # When 'TEAM_DRIVE' is chosen as search method, team_drive_info needs to be
+            # specified.
+          "teamDriveIds": [ # List of Team Drive ids, as provided by <a
+              # href="https://developers.google.com/drive">Drive API</a>.
+            "A String",
+          ],
+        },
+        "mailOptions": { # Mail search advanced options # For mail search, specify more options in this field.
+          "excludeDrafts": True or False, # Set to true to exclude drafts.
+        },
+        "searchMethod": "A String", # The search method to use.
+        "hangoutsChatInfo": { # Accounts to search # When 'ROOM' is chosen as search method, hangout_chats_info needs to be
+            # specified. (read-only)
+          "roomId": [ # A set of rooms to search.
+            "A String",
+          ],
+        },
+        "method": "A String", # The search method to use. This field is similar to the search_method field
+            # but is introduced to support shared drives. It supports all
+            # search method types. In case the search_method is TEAM_DRIVE the response
+            # of this field will be SHARED_DRIVE only.
+        "accountInfo": { # Accounts to search # When 'ACCOUNT' is chosen as search method,
+            # account_info needs to be specified.
+          "emails": [ # A set of accounts to search.
+            "A String",
+          ],
+        },
+        "hangoutsChatOptions": { # Hangouts chat search advanced options # For hangouts chat search, specify more options in this field. (read-only)
+          "includeRooms": True or False, # Set to true to include rooms.
+        },
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "orgUnitInfo": { # Org Unit to search # When 'ORG_UNIT' is chosen as as search method, org_unit_info needs
+            # to be specified.
+          "orgUnitId": "A String", # Org unit to search, as provided by the
+              # <a href="https://developers.google.com/admin-sdk/directory/">Admin SDK
+              # Directory API</a>.
+        },
+        "timeZone": "A String", # The time zone name.
+            # It should be an IANA TZ name, such as "America/Los_Angeles".
+            # For more information, see
+            # <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Time
+            # Zone</a>.
+        "corpus": "A String", # The corpus to search.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "dataScope": "A String", # The data source to search from.
+        "driveOptions": { # Drive search advanced options # For Drive search, specify more options in this field.
+          "includeSharedDrives": True or False, # Set to true to include shared drive.
+          "versionDate": "A String", # Search the versions of the Drive file
+              # as of the reference date. These timestamps are in GMT and
+              # rounded down to the given date.
+          "includeTeamDrives": True or False, # Set to true to include Team Drive.
+        },
+      },
+      "savedQueryId": "A String", # A unique identifier for the saved query.
+      "displayName": "A String", # Name of the saved query.
+      "createTime": "A String", # Output only. The server generated timestamp at which saved query was
+          # created.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(matterId, savedQueryId, x__xgafv=None)</code>
+  <pre>Deletes a saved query by Id.
+
+Args:
+  matterId: string, The matter id of the parent matter for which the saved query is to be
+deleted. (required)
+  savedQueryId: string, Id of the saved query to be deleted. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(matterId, savedQueryId, x__xgafv=None)</code>
+  <pre>Retrieves a saved query by Id.
+
+Args:
+  matterId: string, The matter id of the parent matter for which the saved query is to be
+retrieved. (required)
+  savedQueryId: string, Id of the saved query to be retrieved. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Definition of the saved query.
+      "matterId": "A String", # Output only. The matter id of the associated matter.
+          # The server does not look at this field during create and always uses matter
+          # id in the URL.
+      "query": { # A query definition relevant for search & export. # The underlying Query object which contains all the information of the saved
+          # query.
+        "terms": "A String", # The corpus-specific
+            # <a href="https://support.google.com/vault/answer/2474474">search
+            # operators</a> used to generate search results.
+        "sharedDriveInfo": { # Shared drives to search # When 'SHARED_DRIVE' is chosen as search method, shared_drive_info needs
+            # to be specified.
+          "sharedDriveIds": [ # List of Shared drive ids, as provided by <a
+              # href="https://developers.google.com/drive">Drive API</a>.
+            "A String",
+          ],
+        },
+        "teamDriveInfo": { # Team Drives to search # When 'TEAM_DRIVE' is chosen as search method, team_drive_info needs to be
+            # specified.
+          "teamDriveIds": [ # List of Team Drive ids, as provided by <a
+              # href="https://developers.google.com/drive">Drive API</a>.
+            "A String",
+          ],
+        },
+        "mailOptions": { # Mail search advanced options # For mail search, specify more options in this field.
+          "excludeDrafts": True or False, # Set to true to exclude drafts.
+        },
+        "searchMethod": "A String", # The search method to use.
+        "hangoutsChatInfo": { # Accounts to search # When 'ROOM' is chosen as search method, hangout_chats_info needs to be
+            # specified. (read-only)
+          "roomId": [ # A set of rooms to search.
+            "A String",
+          ],
+        },
+        "method": "A String", # The search method to use. This field is similar to the search_method field
+            # but is introduced to support shared drives. It supports all
+            # search method types. In case the search_method is TEAM_DRIVE the response
+            # of this field will be SHARED_DRIVE only.
+        "accountInfo": { # Accounts to search # When 'ACCOUNT' is chosen as search method,
+            # account_info needs to be specified.
+          "emails": [ # A set of accounts to search.
+            "A String",
+          ],
+        },
+        "hangoutsChatOptions": { # Hangouts chat search advanced options # For hangouts chat search, specify more options in this field. (read-only)
+          "includeRooms": True or False, # Set to true to include rooms.
+        },
+        "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "orgUnitInfo": { # Org Unit to search # When 'ORG_UNIT' is chosen as as search method, org_unit_info needs
+            # to be specified.
+          "orgUnitId": "A String", # Org unit to search, as provided by the
+              # <a href="https://developers.google.com/admin-sdk/directory/">Admin SDK
+              # Directory API</a>.
+        },
+        "timeZone": "A String", # The time zone name.
+            # It should be an IANA TZ name, such as "America/Los_Angeles".
+            # For more information, see
+            # <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Time
+            # Zone</a>.
+        "corpus": "A String", # The corpus to search.
+        "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+            # rounded down to the start of the given date.
+        "dataScope": "A String", # The data source to search from.
+        "driveOptions": { # Drive search advanced options # For Drive search, specify more options in this field.
+          "includeSharedDrives": True or False, # Set to true to include shared drive.
+          "versionDate": "A String", # Search the versions of the Drive file
+              # as of the reference date. These timestamps are in GMT and
+              # rounded down to the given date.
+          "includeTeamDrives": True or False, # Set to true to include Team Drive.
+        },
+      },
+      "savedQueryId": "A String", # A unique identifier for the saved query.
+      "displayName": "A String", # Name of the saved query.
+      "createTime": "A String", # Output only. The server generated timestamp at which saved query was
+          # created.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(matterId, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists saved queries within a matter. An empty page token in
+ListSavedQueriesResponse denotes no more saved queries to list.
+
+Args:
+  matterId: string, The matter id of the parent matter for which the saved queries are to be
+retrieved. (required)
+  pageSize: integer, The maximum number of saved queries to return.
+  pageToken: string, The pagination token as returned in the previous response.
+An empty token means start from the beginning.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Definition of the response for method ListSaveQuery.
+    "nextPageToken": "A String", # Page token to retrieve the next page of results in the list.
+        # If this is empty, then there are no more saved queries to list.
+    "savedQueries": [ # List of output saved queries.
+      { # Definition of the saved query.
+          "matterId": "A String", # Output only. The matter id of the associated matter.
+              # The server does not look at this field during create and always uses matter
+              # id in the URL.
+          "query": { # A query definition relevant for search & export. # The underlying Query object which contains all the information of the saved
+              # query.
+            "terms": "A String", # The corpus-specific
+                # <a href="https://support.google.com/vault/answer/2474474">search
+                # operators</a> used to generate search results.
+            "sharedDriveInfo": { # Shared drives to search # When 'SHARED_DRIVE' is chosen as search method, shared_drive_info needs
+                # to be specified.
+              "sharedDriveIds": [ # List of Shared drive ids, as provided by <a
+                  # href="https://developers.google.com/drive">Drive API</a>.
+                "A String",
+              ],
+            },
+            "teamDriveInfo": { # Team Drives to search # When 'TEAM_DRIVE' is chosen as search method, team_drive_info needs to be
+                # specified.
+              "teamDriveIds": [ # List of Team Drive ids, as provided by <a
+                  # href="https://developers.google.com/drive">Drive API</a>.
+                "A String",
+              ],
+            },
+            "mailOptions": { # Mail search advanced options # For mail search, specify more options in this field.
+              "excludeDrafts": True or False, # Set to true to exclude drafts.
+            },
+            "searchMethod": "A String", # The search method to use.
+            "hangoutsChatInfo": { # Accounts to search # When 'ROOM' is chosen as search method, hangout_chats_info needs to be
+                # specified. (read-only)
+              "roomId": [ # A set of rooms to search.
+                "A String",
+              ],
+            },
+            "method": "A String", # The search method to use. This field is similar to the search_method field
+                # but is introduced to support shared drives. It supports all
+                # search method types. In case the search_method is TEAM_DRIVE the response
+                # of this field will be SHARED_DRIVE only.
+            "accountInfo": { # Accounts to search # When 'ACCOUNT' is chosen as search method,
+                # account_info needs to be specified.
+              "emails": [ # A set of accounts to search.
+                "A String",
+              ],
+            },
+            "hangoutsChatOptions": { # Hangouts chat search advanced options # For hangouts chat search, specify more options in this field. (read-only)
+              "includeRooms": True or False, # Set to true to include rooms.
+            },
+            "startTime": "A String", # The start time range for the search query. These timestamps are in GMT and
+                # rounded down to the start of the given date.
+            "orgUnitInfo": { # Org Unit to search # When 'ORG_UNIT' is chosen as as search method, org_unit_info needs
+                # to be specified.
+              "orgUnitId": "A String", # Org unit to search, as provided by the
+                  # <a href="https://developers.google.com/admin-sdk/directory/">Admin SDK
+                  # Directory API</a>.
+            },
+            "timeZone": "A String", # The time zone name.
+                # It should be an IANA TZ name, such as "America/Los_Angeles".
+                # For more information, see
+                # <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Time
+                # Zone</a>.
+            "corpus": "A String", # The corpus to search.
+            "endTime": "A String", # The end time range for the search query. These timestamps are in GMT and
+                # rounded down to the start of the given date.
+            "dataScope": "A String", # The data source to search from.
+            "driveOptions": { # Drive search advanced options # For Drive search, specify more options in this field.
+              "includeSharedDrives": True or False, # Set to true to include shared drive.
+              "versionDate": "A String", # Search the versions of the Drive file
+                  # as of the reference date. These timestamps are in GMT and
+                  # rounded down to the given date.
+              "includeTeamDrives": True or False, # Set to true to include Team Drive.
+            },
+          },
+          "savedQueryId": "A String", # A unique identifier for the saved query.
+          "displayName": "A String", # Name of the saved query.
+          "createTime": "A String", # Output only. The server generated timestamp at which saved query was
+              # created.
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file