Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/classroom_v1.registrations.html b/docs/dyn/classroom_v1.registrations.html
new file mode 100644
index 0000000..0209be2
--- /dev/null
+++ b/docs/dyn/classroom_v1.registrations.html
@@ -0,0 +1,220 @@
+<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="classroom_v1.html">Google Classroom API</a> . <a href="classroom_v1.registrations.html">registrations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a `Registration`, causing Classroom to start sending notifications</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(registrationId, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a `Registration`, causing Classroom to stop sending notifications</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body, x__xgafv=None)</code>
+  <pre>Creates a `Registration`, causing Classroom to start sending notifications
+from the provided `feed` to the destination provided in `cloudPubSubTopic`.
+
+Returns the created `Registration`. Currently, this will be the same as
+the argument, but with server-assigned fields such as `expiry_time` and
+`id` filled in.
+
+Note that any value specified for the `expiry_time` or `id` fields will be
+ignored.
+
+While Classroom may validate the `cloudPubSubTopic` and return errors on a
+best effort basis, it is the caller's responsibility to ensure that it
+exists and that Classroom has permission to publish to it.
+
+This method may return the following error codes:
+
+* `PERMISSION_DENIED` if:
+    * the authenticated user does not have permission to receive
+      notifications from the requested field; or
+    * the credential provided does not include the appropriate scope for
+      the requested feed.
+    * another access error is encountered.
+* `INVALID_ARGUMENT` if:
+    * no `cloudPubsubTopic` is specified, or the specified
+      `cloudPubsubTopic` is not valid; or
+    * no `feed` is specified, or the specified `feed` is not valid.
+* `NOT_FOUND` if:
+    * the specified `feed` cannot be located, or the requesting user does
+      not have permission to determine whether or not it exists; or
+    * the specified `cloudPubsubTopic` cannot be located, or Classroom has
+      not been granted permission to publish to it.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An instruction to Classroom to send notifications from the `feed` to the
+      # provided destination.
+    "feed": { # A class of notifications that an application can register to receive. # Specification for the class of notifications that Classroom should deliver
+        # to the destination.
+        # For example: "all roster changes for a domain".
+      "feedType": "A String", # The type of feed.
+      "courseWorkChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.
+          # This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`.
+        "courseId": "A String", # The `course_id` of the course to subscribe to work changes for.
+      },
+      "courseRosterChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
+          # This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`.
+        "courseId": "A String", # The `course_id` of the course to subscribe to roster changes for.
+      },
+    },
+    "registrationId": "A String", # A server-generated unique identifier for this `Registration`.
+        # 
+        # Read-only.
+    "expiryTime": "A String", # The time until which the `Registration` is effective.
+        # 
+        # This is a read-only field assigned by the server.
+    "cloudPubsubTopic": { # A reference to a Cloud Pub/Sub topic. # The Cloud Pub/Sub topic that notifications are to be sent to.
+        #
+        # To register for notifications, the owner of the topic must grant
+        # `classroom-notifications@system.gserviceaccount.com` the
+        #  `projects.topics.publish` permission.
+      "topicName": "A String", # The `name` field of a Cloud Pub/Sub
+          # [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An instruction to Classroom to send notifications from the `feed` to the
+        # provided destination.
+      "feed": { # A class of notifications that an application can register to receive. # Specification for the class of notifications that Classroom should deliver
+          # to the destination.
+          # For example: "all roster changes for a domain".
+        "feedType": "A String", # The type of feed.
+        "courseWorkChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.
+            # This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`.
+          "courseId": "A String", # The `course_id` of the course to subscribe to work changes for.
+        },
+        "courseRosterChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
+            # This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`.
+          "courseId": "A String", # The `course_id` of the course to subscribe to roster changes for.
+        },
+      },
+      "registrationId": "A String", # A server-generated unique identifier for this `Registration`.
+          #
+          # Read-only.
+      "expiryTime": "A String", # The time until which the `Registration` is effective.
+          #
+          # This is a read-only field assigned by the server.
+      "cloudPubsubTopic": { # A reference to a Cloud Pub/Sub topic. # The Cloud Pub/Sub topic that notifications are to be sent to.
+          #
+          # To register for notifications, the owner of the topic must grant
+          # `classroom-notifications@system.gserviceaccount.com` the
+          #  `projects.topics.publish` permission.
+        "topicName": "A String", # The `name` field of a Cloud Pub/Sub
+            # [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(registrationId, x__xgafv=None)</code>
+  <pre>Deletes a `Registration`, causing Classroom to stop sending notifications
+for that `Registration`.
+
+Args:
+  registrationId: string, The `registration_id` of the `Registration` 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>
+
+</body></html>
\ No newline at end of file