Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/firebasehosting_v1beta1.sites.html b/docs/dyn/firebasehosting_v1beta1.sites.html
new file mode 100644
index 0000000..1e22443
--- /dev/null
+++ b/docs/dyn/firebasehosting_v1beta1.sites.html
@@ -0,0 +1,166 @@
+<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="firebasehosting_v1beta1.html">Firebase Hosting API</a> . <a href="firebasehosting_v1beta1.sites.html">sites</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="firebasehosting_v1beta1.sites.domains.html">domains()</a></code>
+</p>
+<p class="firstline">Returns the domains Resource.</p>
+
+<p class="toc_element">
+  <code><a href="firebasehosting_v1beta1.sites.releases.html">releases()</a></code>
+</p>
+<p class="firstline">Returns the releases Resource.</p>
+
+<p class="toc_element">
+  <code><a href="firebasehosting_v1beta1.sites.versions.html">versions()</a></code>
+</p>
+<p class="firstline">Returns the versions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#getConfig">getConfig(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the Hosting metadata for a specific site.</p>
+<p class="toc_element">
+  <code><a href="#updateConfig">updateConfig(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the Hosting metadata for a specific site.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="getConfig">getConfig(name, x__xgafv=None)</code>
+  <pre>Gets the Hosting metadata for a specific site.
+
+Args:
+  name: string, Required. The site for which to get the SiteConfig, in the format:
+<code>sites/<var>site-name</var>/config</code> (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `SiteConfig` contains metadata associated with a specific site that
+        # controls Firebase Hosting serving behavior
+      "maxVersions": "A String", # The number of FINALIZED versions that will be held for a site before
+          # automatic deletion. When a new version is deployed, content for versions
+          # in storage in excess of this number will be deleted, and will no longer be
+          # billed for storage usage. Oldest versions will be deleted first; sites are
+          # created with an unlimited number of max_versions by default.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateConfig">updateConfig(name, body, updateMask=None, x__xgafv=None)</code>
+  <pre>Sets the Hosting metadata for a specific site.
+
+Args:
+  name: string, Required. The site for which to update the SiteConfig, in the format:
+<code>sites/<var>site-name</var>/config</code> (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A `SiteConfig` contains metadata associated with a specific site that
+      # controls Firebase Hosting serving behavior
+    "maxVersions": "A String", # The number of FINALIZED versions that will be held for a site before
+        # automatic deletion. When a new version is deployed, content for versions
+        # in storage in excess of this number will be deleted, and will no longer be
+        # billed for storage usage. Oldest versions will be deleted first; sites are
+        # created with an unlimited number of max_versions by default.
+  }
+
+  updateMask: string, A set of field names from your [site configuration](../sites.SiteConfig)
+that you want to update.
+<br>A field will be overwritten if, and only if, it's in the mask.
+<br>If a mask is not provided then a default mask of only
+[`max_versions`](../sites.SiteConfig.max_versions) will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A `SiteConfig` contains metadata associated with a specific site that
+        # controls Firebase Hosting serving behavior
+      "maxVersions": "A String", # The number of FINALIZED versions that will be held for a site before
+          # automatic deletion. When a new version is deployed, content for versions
+          # in storage in excess of this number will be deleted, and will no longer be
+          # billed for storage usage. Oldest versions will be deleted first; sites are
+          # created with an unlimited number of max_versions by default.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file