Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/dataflow_v1b3.projects.snapshots.html b/docs/dyn/dataflow_v1b3.projects.snapshots.html
new file mode 100644
index 0000000..9bbd64e
--- /dev/null
+++ b/docs/dyn/dataflow_v1b3.projects.snapshots.html
@@ -0,0 +1,140 @@
+<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="dataflow_v1b3.html">Dataflow API</a> . <a href="dataflow_v1b3.projects.html">projects</a> . <a href="dataflow_v1b3.projects.snapshots.html">snapshots</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(projectId, snapshotId, location=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets information about a snapshot.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, jobId=None, location=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists snapshots.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(projectId, snapshotId, location=None, x__xgafv=None)</code>
+  <pre>Gets information about a snapshot.
+
+Args:
+  projectId: string, The ID of the Cloud Platform project that the snapshot belongs to. (required)
+  snapshotId: string, The ID of the snapshot. (required)
+  location: string, The location that contains this snapshot.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a snapshot of a job.
+    "sourceJobId": "A String", # The job this snapshot was created from.
+    "projectId": "A String", # The project this snapshot belongs to.
+    "creationTime": "A String", # The time this snapshot was created.
+    "state": "A String", # State of the snapshot.
+    "ttl": "A String", # The time after which this snapshot will be automatically deleted.
+    "id": "A String", # The unique ID of this snapshot.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, jobId=None, location=None, x__xgafv=None)</code>
+  <pre>Lists snapshots.
+
+Args:
+  projectId: string, The project ID to list snapshots for. (required)
+  jobId: string, If specified, list snapshots created from this job.
+  location: string, The location to list snapshots in.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # List of snapshots.
+    "snapshots": [ # Returned snapshots.
+      { # Represents a snapshot of a job.
+        "sourceJobId": "A String", # The job this snapshot was created from.
+        "projectId": "A String", # The project this snapshot belongs to.
+        "creationTime": "A String", # The time this snapshot was created.
+        "state": "A String", # State of the snapshot.
+        "ttl": "A String", # The time after which this snapshot will be automatically deleted.
+        "id": "A String", # The unique ID of this snapshot.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file