Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/servicemanagement_v1.services.rollouts.html b/docs/dyn/servicemanagement_v1.services.rollouts.html
index 935f4bb..935668b 100644
--- a/docs/dyn/servicemanagement_v1.services.rollouts.html
+++ b/docs/dyn/servicemanagement_v1.services.rollouts.html
@@ -72,23 +72,23 @@
 
 </style>
 
-<h1><a href="servicemanagement_v1.html">Google Service Management API</a> . <a href="servicemanagement_v1.services.html">services</a> . <a href="servicemanagement_v1.services.rollouts.html">rollouts</a></h1>
+<h1><a href="servicemanagement_v1.html">Service Management API</a> . <a href="servicemanagement_v1.services.html">services</a> . <a href="servicemanagement_v1.services.rollouts.html">rollouts</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#create">create(serviceName, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(serviceName, body, baseRolloutId=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new service configuration rollout. Based on rollout, the</p>
 <p class="toc_element">
   <code><a href="#get">get(serviceName, rolloutId, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a service configuration rollout.</p>
 <p class="toc_element">
-  <code><a href="#list">list(serviceName, pageSize=None, filter=None, pageToken=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(serviceName, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
 <p class="firstline">Lists the history of the service configuration rollouts for a managed</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>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="create">create(serviceName, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(serviceName, body, baseRolloutId=None, x__xgafv=None)</code>
   <pre>Creates a new service configuration rollout. Based on rollout, the
 Google Service Management will roll out the service configurations to
 different backend services. For example, the logging configuration will be
@@ -98,6 +98,10 @@
 Operations will be automatically cancelled so that the latest Rollout will
 not be blocked by previous Rollouts.
 
+Only the 100 most recent (in any state) and the last 10 successful (if not
+already part of the set of 100 most recent) rollouts are kept for each
+service. The rest will be deleted eventually.
+
 Operation<response: Rollout>
 
 Args:
@@ -112,10 +116,11 @@
     "status": "A String", # The status of this rollout. Readonly. In case of a failed rollout,
         # the system will automatically rollback to the current Rollout
         # version. Readonly.
-    "trafficPercentStrategy": { # Strategy that specifies how Google Service Control should select # Google Service Control selects service configurations based on
+    "trafficPercentStrategy": { # Strategy that specifies how clients of Google Service Controller want to # Google Service Control selects service configurations based on
         # traffic percentage.
-        # different
-        # versions of service configurations based on traffic percentage.
+        # send traffic to use different config versions. This is generally
+        # used by API proxy to split traffic based on your configured precentage for
+        # each config version.
         #
         # One example of how to gradually rollout a new service configuration using
         # this
@@ -165,6 +170,14 @@
     "createTime": "A String", # Creation time of the rollout. Readonly.
   }
 
+  baseRolloutId: string, Unimplemented. Do not use this feature until this comment is removed.
+
+The rollout id that rollout to be created based on.
+
+Rollout should be constructed based on current successful rollout, this
+field indicates the current successful rollout id that new rollout based on
+to construct, if current successful rollout changed when server receives
+the request, request will be rejected for safety.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -175,72 +188,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure or cancellation.
-        # programming environments, including REST APIs and RPC APIs. It is used by
-        # [gRPC](https://github.com/grpc). The error model is designed to be:
-        #
-        # - Simple to use and understand for most users
-        # - Flexible enough to meet unexpected needs
-        #
-        # # Overview
-        #
-        # The `Status` message contains three pieces of data: error code, error message,
-        # and error details. The error code should be an enum value of
-        # google.rpc.Code, but it may accept additional error codes if needed.  The
-        # error message should be a developer-facing English message that helps
-        # developers *understand* and *resolve* the error. If a localized user-facing
-        # error message is needed, put the localized message in the error details or
-        # localize it in the client. The optional error details may contain arbitrary
-        # information about the error. There is a predefined set of error detail types
-        # in the package `google.rpc` that can be used for common error conditions.
-        #
-        # # Language mapping
-        #
-        # The `Status` message is the logical representation of the error model, but it
-        # is not necessarily the actual wire format. When the `Status` message is
-        # exposed in different client libraries and different wire protocols, it can be
-        # mapped differently. For example, it will likely be mapped to some exceptions
-        # in Java, but more likely mapped to some error codes in C.
-        #
-        # # Other uses
-        #
-        # The error model and the `Status` message can be used in a variety of
-        # environments, either with or without APIs, to provide a
-        # consistent developer experience across different environments.
-        #
-        # Example uses of this error model include:
-        #
-        # - Partial errors. If a service needs to return partial errors to the client,
-        #     it may embed the `Status` in the normal response to indicate the partial
-        #     errors.
-        #
-        # - Workflow errors. A typical workflow has multiple steps. Each step may
-        #     have a `Status` message for error reporting.
-        #
-        # - Batch operations. If a client uses batch request and batch response, the
-        #     `Status` message should be used directly inside batch response, one for
-        #     each error sub-response.
-        #
-        # - Asynchronous operations. If an API call embeds asynchronous operation
-        #     results in its response, the status of those operations should be
-        #     represented directly using the `Status` message.
-        #
-        # - Logging. If some API errors are stored in logs, the message `Status` could
-        #     be used directly after any stripping needed for security/privacy reasons.
-      "message": "A String", # A developer-facing error message, which should be in English. Any
-          # user-facing error message should be localized and sent in the
-          # google.rpc.Status.details field, or localized by the client.
-      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-      "details": [ # A list of messages that carry the error details.  There will be a
-          # common set of message types for APIs to use.
-        {
-          "a_key": "", # Properties of the object. Contains field @type with type URL.
-        },
-      ],
-    },
-    "done": True or False, # If the value is `false`, it means the operation is still in progress.
-        # If true, the operation is completed, and either `error` or `response` is
-        # available.
     "response": { # The normal response of the operation in case of success.  If the original
         # method returns no data on success, such as `Delete`, the response is
         # `google.protobuf.Empty`.  If the original method is standard
@@ -251,15 +198,36 @@
         # `TakeSnapshotResponse`.
       "a_key": "", # Properties of the object. Contains field @type with type URL.
     },
-    "name": "A String", # The server-assigned name, which is only unique within the same service that
-        # originally returns it. If you use the default HTTP mapping, the
-        # `name` should have the format of `operations/some/unique/name`.
     "metadata": { # Service-specific metadata associated with the operation.  It typically
         # contains progress information and common metadata such as create time.
         # Some services might not provide such metadata.  Any method that returns a
         # long-running operation should document the metadata type, if any.
       "a_key": "", # Properties of the object. Contains field @type with type URL.
     },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If `true`, the operation is completed, and either `error` or `response` is
+        # available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should be a resource name ending with `operations/{unique_id}`.
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
+        #
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
   }</pre>
 </div>
 
@@ -285,10 +253,11 @@
       "status": "A String", # The status of this rollout. Readonly. In case of a failed rollout,
           # the system will automatically rollback to the current Rollout
           # version. Readonly.
-      "trafficPercentStrategy": { # Strategy that specifies how Google Service Control should select # Google Service Control selects service configurations based on
+      "trafficPercentStrategy": { # Strategy that specifies how clients of Google Service Controller want to # Google Service Control selects service configurations based on
           # traffic percentage.
-          # different
-          # versions of service configurations based on traffic percentage.
+          # send traffic to use different config versions. This is generally
+          # used by API proxy to split traffic based on your configured precentage for
+          # each config version.
           #
           # One example of how to gradually rollout a new service configuration using
           # this
@@ -340,14 +309,20 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(serviceName, pageSize=None, filter=None, pageToken=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(serviceName, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
   <pre>Lists the history of the service configuration rollouts for a managed
 service, from the newest to the oldest.
 
 Args:
   serviceName: string, The name of the service.  See the [overview](/service-management/overview)
 for naming requirements.  For example: `example.googleapis.com`. (required)
-  pageSize: integer, The max number of items to include in the response list.
+  pageSize: integer, The max number of items to include in the response list. Page size is 50
+if not specified. Maximum value is 100.
+  pageToken: string, The token of the page to retrieve.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
   filter: string, Use `filter` to return subset of rollouts.
 The following filters are supported:
   -- To limit the results to only those in
@@ -356,11 +331,6 @@
   -- To limit the results to those in
      [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED'
      or 'FAILED', use filter='status=CANCELLED OR status=FAILED'
-  pageToken: string, The token of the page to retrieve.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
 
 Returns:
   An object of the form:
@@ -374,10 +344,11 @@
           "status": "A String", # The status of this rollout. Readonly. In case of a failed rollout,
               # the system will automatically rollback to the current Rollout
               # version. Readonly.
-          "trafficPercentStrategy": { # Strategy that specifies how Google Service Control should select # Google Service Control selects service configurations based on
+          "trafficPercentStrategy": { # Strategy that specifies how clients of Google Service Controller want to # Google Service Control selects service configurations based on
               # traffic percentage.
-              # different
-              # versions of service configurations based on traffic percentage.
+              # send traffic to use different config versions. This is generally
+              # used by API proxy to split traffic based on your configured precentage for
+              # each config version.
               #
               # One example of how to gradually rollout a new service configuration using
               # this