Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.agent.knowledgeBases.html b/docs/dyn/dialogflow_v2beta1.projects.agent.knowledgeBases.html
new file mode 100644
index 0000000..1ef0626
--- /dev/null
+++ b/docs/dyn/dialogflow_v2beta1.projects.agent.knowledgeBases.html
@@ -0,0 +1,308 @@
+<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="dialogflow_v2beta1.html">Dialogflow API</a> . <a href="dialogflow_v2beta1.projects.html">projects</a> . <a href="dialogflow_v2beta1.projects.agent.html">agent</a> . <a href="dialogflow_v2beta1.projects.agent.knowledgeBases.html">knowledgeBases</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dialogflow_v2beta1.projects.agent.knowledgeBases.documents.html">documents()</a></code>
+</p>
+<p class="firstline">Returns the documents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a knowledge base.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, force=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes the specified knowledge base.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves the specified knowledge base.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the list of all knowledge bases of the specified agent.</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>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the specified knowledge base.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Creates a knowledge base.
+
+Note: The `projects.agent.knowledgeBases` resource is deprecated;
+only use `projects.knowledgeBases`.
+
+Args:
+  parent: string, Required. The project to create a knowledge base for.
+Format: `projects/<Project ID>`. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents knowledge base resource.
+      # 
+      # Note: The `projects.agent.knowledgeBases` resource is deprecated;
+      # only use `projects.knowledgeBases`.
+    "displayName": "A String", # Required. The display name of the knowledge base. The name must be 1024
+        # bytes or less; otherwise, the creation request fails.
+    "name": "A String", # The knowledge base resource name.
+        # The name must be empty when creating a knowledge base.
+        # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents knowledge base resource.
+        #
+        # Note: The `projects.agent.knowledgeBases` resource is deprecated;
+        # only use `projects.knowledgeBases`.
+      "displayName": "A String", # Required. The display name of the knowledge base. The name must be 1024
+          # bytes or less; otherwise, the creation request fails.
+      "name": "A String", # The knowledge base resource name.
+          # The name must be empty when creating a knowledge base.
+          # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, force=None, x__xgafv=None)</code>
+  <pre>Deletes the specified knowledge base.
+
+Note: The `projects.agent.knowledgeBases` resource is deprecated;
+only use `projects.knowledgeBases`.
+
+Args:
+  name: string, Required. The name of the knowledge base to delete.
+Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`. (required)
+  force: boolean, Optional. Force deletes the knowledge base. When set to true, any documents
+in the knowledge base are also deleted.
+  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(name, x__xgafv=None)</code>
+  <pre>Retrieves the specified knowledge base.
+
+Note: The `projects.agent.knowledgeBases` resource is deprecated;
+only use `projects.knowledgeBases`.
+
+Args:
+  name: string, Required. The name of the knowledge base to retrieve.
+Format `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents knowledge base resource.
+        #
+        # Note: The `projects.agent.knowledgeBases` resource is deprecated;
+        # only use `projects.knowledgeBases`.
+      "displayName": "A String", # Required. The display name of the knowledge base. The name must be 1024
+          # bytes or less; otherwise, the creation request fails.
+      "name": "A String", # The knowledge base resource name.
+          # The name must be empty when creating a knowledge base.
+          # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns the list of all knowledge bases of the specified agent.
+
+Note: The `projects.agent.knowledgeBases` resource is deprecated;
+only use `projects.knowledgeBases`.
+
+Args:
+  parent: string, Required. The project to list of knowledge bases for.
+Format: `projects/<Project ID>`. (required)
+  pageSize: integer, Optional. The maximum number of items to return in a single page. By
+default 10 and at most 100.
+  pageToken: string, Optional. The next_page_token value returned from a previous list request.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for KnowledgeBases.ListKnowledgeBases.
+    "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no
+        # more results in the list.
+    "knowledgeBases": [ # The list of knowledge bases.
+      { # Represents knowledge base resource.
+            #
+            # Note: The `projects.agent.knowledgeBases` resource is deprecated;
+            # only use `projects.knowledgeBases`.
+          "displayName": "A String", # Required. The display name of the knowledge base. The name must be 1024
+              # bytes or less; otherwise, the creation request fails.
+          "name": "A String", # The knowledge base resource name.
+              # The name must be empty when creating a knowledge base.
+              # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
+        },
+    ],
+  }</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>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the specified knowledge base.
+
+Note: The `projects.agent.knowledgeBases` resource is deprecated;
+only use `projects.knowledgeBases`.
+
+Args:
+  name: string, The knowledge base resource name.
+The name must be empty when creating a knowledge base.
+Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents knowledge base resource.
+      # 
+      # Note: The `projects.agent.knowledgeBases` resource is deprecated;
+      # only use `projects.knowledgeBases`.
+    "displayName": "A String", # Required. The display name of the knowledge base. The name must be 1024
+        # bytes or less; otherwise, the creation request fails.
+    "name": "A String", # The knowledge base resource name.
+        # The name must be empty when creating a knowledge base.
+        # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
+  }
+
+  updateMask: string, Optional. Not specified means `update all`.
+Currently, only `display_name` can be updated, an InvalidArgument will be
+returned for attempting to update other fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents knowledge base resource.
+        #
+        # Note: The `projects.agent.knowledgeBases` resource is deprecated;
+        # only use `projects.knowledgeBases`.
+      "displayName": "A String", # Required. The display name of the knowledge base. The name must be 1024
+          # bytes or less; otherwise, the creation request fails.
+      "name": "A String", # The knowledge base resource name.
+          # The name must be empty when creating a knowledge base.
+          # Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file