Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/dataflow_v1b3.projects.html b/docs/dyn/dataflow_v1b3.projects.html
index 0a4d6b7..3e61c0d 100644
--- a/docs/dyn/dataflow_v1b3.projects.html
+++ b/docs/dyn/dataflow_v1b3.projects.html
@@ -72,7 +72,7 @@
 
 </style>
 
-<h1><a href="dataflow_v1b3.html">Google Dataflow API</a> . <a href="dataflow_v1b3.projects.html">projects</a></h1>
+<h1><a href="dataflow_v1b3.html">Dataflow API</a> . <a href="dataflow_v1b3.projects.html">projects</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="dataflow_v1b3.projects.jobs.html">jobs()</a></code>
@@ -85,15 +85,43 @@
 <p class="firstline">Returns the locations Resource.</p>
 
 <p class="toc_element">
+  <code><a href="dataflow_v1b3.projects.snapshots.html">snapshots()</a></code>
+</p>
+<p class="firstline">Returns the snapshots Resource.</p>
+
+<p class="toc_element">
   <code><a href="dataflow_v1b3.projects.templates.html">templates()</a></code>
 </p>
 <p class="firstline">Returns the templates Resource.</p>
 
 <p class="toc_element">
+  <code><a href="#deleteSnapshots">deleteSnapshots(projectId, location=None, snapshotId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a snapshot.</p>
+<p class="toc_element">
   <code><a href="#workerMessages">workerMessages(projectId, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Send a worker_message to the service.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="deleteSnapshots">deleteSnapshots(projectId, location=None, snapshotId=None, x__xgafv=None)</code>
+  <pre>Deletes a snapshot.
+
+Args:
+  projectId: string, The ID of the Cloud Platform project that the snapshot belongs to. (required)
+  location: string, The location that contains this snapshot.
+  snapshotId: string, The ID of the snapshot.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response from deleting a snapshot.
+  }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="workerMessages">workerMessages(projectId, body, x__xgafv=None)</code>
   <pre>Send a worker_message to the service.
 
@@ -105,36 +133,14 @@
 { # A request for sending worker messages to the service.
     "workerMessages": [ # The WorkerMessages to send.
       { # WorkerMessage provides information to the backend about a worker.
-        "workerHealthReport": { # WorkerHealthReport contains information about the health of a worker. # The health of a worker.
-            #
-            # The VM should be identified by the labels attached to the WorkerMessage that
-            # this health ping belongs to.
-          "vmStartupTime": "A String", # The time the VM was booted.
-          "reportInterval": "A String", # The interval at which the worker is sending health reports.
-              # The default value of 0 should be interpreted as the field is not being
-              # explicitly set by the worker.
-          "pods": [ # The pods running on the worker. See:
-              # http://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod
-              #
-              # This field is used by the worker to send the status of the indvidual
-              # containers running on each worker.
-            {
-              "a_key": "", # Properties of the object.
-            },
-          ],
-          "vmIsHealthy": True or False, # Whether the VM is healthy.
-        },
-        "labels": { # Labels are used to group WorkerMessages.
-            # For example, a worker_message about a particular container
-            # might have the labels:
-            # { "JOB_ID": "2015-04-22",
-            #   "WORKER_ID": "wordcount-vm-2015…"
-            #   "CONTAINER_TYPE": "worker",
-            #   "CONTAINER_ID": "ac1234def"}
-            # Label tags typically correspond to Label enum values. However, for ease
-            # of development other strings can be used as tags. LABEL_UNSPECIFIED should
-            # not be used here.
-          "a_key": "A String",
+        "workerShutdownNotice": { # Shutdown notification from workers. This is to be sent by the shutdown # Shutdown notice by workers.
+            # script of the worker VM so that the backend knows that the VM is being
+            # shut down.
+          "reason": "A String", # The reason for the worker shutdown.
+              # Current possible values are:
+              #   "UNKNOWN": shutdown reason is unknown.
+              #   "PREEMPTION": shutdown reason is preemption.
+              # Other possible reasons may be added in the future.
         },
         "workerMetrics": { # Worker metrics exported from workers. This contains resource utilization # Resource metrics reported by workers.
             # metrics accumulated from a variety of sources. For more information, see
@@ -191,10 +197,61 @@
             "a_key": "", # Properties of the object.
           },
         },
+        "labels": { # Labels are used to group WorkerMessages.
+            # For example, a worker_message about a particular container
+            # might have the labels:
+            # { "JOB_ID": "2015-04-22",
+            #   "WORKER_ID": "wordcount-vm-2015…"
+            #   "CONTAINER_TYPE": "worker",
+            #   "CONTAINER_ID": "ac1234def"}
+            # Label tags typically correspond to Label enum values. However, for ease
+            # of development other strings can be used as tags. LABEL_UNSPECIFIED should
+            # not be used here.
+          "a_key": "A String",
+        },
+        "workerLifecycleEvent": { # A report of an event in a worker's lifecycle. # Record of worker lifecycle events.
+            # The proto contains one event, because the worker is expected to
+            # asynchronously send each message immediately after the event.
+            # Due to this asynchrony, messages may arrive out of order (or missing), and it
+            # is up to the consumer to interpret.
+            # The timestamp of the event is in the enclosing WorkerMessage proto.
+          "event": "A String", # The event being reported.
+          "containerStartTime": "A String", # The start time of this container. All events will report this so that
+              # events can be grouped together across container/VM restarts.
+          "metadata": { # Other stats that can accompany an event. E.g.
+              # { "downloaded_bytes" : "123456" }
+            "a_key": "A String",
+          },
+        },
         "time": "A String", # The timestamp of the worker_message.
+        "workerHealthReport": { # WorkerHealthReport contains information about the health of a worker. # The health of a worker.
+            #
+            # The VM should be identified by the labels attached to the WorkerMessage that
+            # this health ping belongs to.
+          "vmIsBroken": True or False, # Whether the VM is in a permanently broken state.
+              # Broken VMs should be abandoned or deleted ASAP to avoid assigning or
+              # completing any work.
+          "vmStartupTime": "A String", # The time the VM was booted.
+          "vmIsHealthy": True or False, # Whether the VM is currently healthy.
+          "msg": "A String", # A message describing any unusual health reports.
+          "reportInterval": "A String", # The interval at which the worker is sending health reports.
+              # The default value of 0 should be interpreted as the field is not being
+              # explicitly set by the worker.
+          "pods": [ # The pods running on the worker. See:
+              # http://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod
+              #
+              # This field is used by the worker to send the status of the indvidual
+              # containers running on each worker.
+            {
+              "a_key": "", # Properties of the object.
+            },
+          ],
+        },
       },
     ],
-    "location": "A String", # The location which contains the job
+    "location": "A String", # The [regional endpoint]
+        # (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
+        # contains the job.
   }
 
   x__xgafv: string, V1 error format.
@@ -219,6 +276,8 @@
         },
         "workerMetricsResponse": { # Service-side response to WorkerMessage reporting resource utilization. # Service's response to reporting worker metrics (currently empty).
         },
+        "workerShutdownNoticeResponse": { # Service-side response to WorkerMessage issuing shutdown notice. # Service's response to shutdown notice (currently empty).
+        },
       },
     ],
   }</pre>