Fix method doc signatures for multiline required parameters (#374)

* Fix method doc signatures for multiline required parameters.

Existing doc generator failed to recognize parameters as required when parameter descriptions
extended over more than one line. Besides presenting incorrect information, resulting
inconsistencies broke checks for automated sample generation.

* Regen docs
diff --git a/docs/dyn/servicemanagement_v1.services.html b/docs/dyn/servicemanagement_v1.services.html
index d1aebf3..f6006ca 100644
--- a/docs/dyn/servicemanagement_v1.services.html
+++ b/docs/dyn/servicemanagement_v1.services.html
@@ -88,25 +88,25 @@
   <code><a href="#create">create(body, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new managed service.</p>
 <p class="toc_element">
-  <code><a href="#delete">delete(serviceName=None, x__xgafv=None)</a></code></p>
+  <code><a href="#delete">delete(serviceName, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a managed service. This method will change the service to the</p>
 <p class="toc_element">
-  <code><a href="#disable">disable(serviceName=None, body, x__xgafv=None)</a></code></p>
+  <code><a href="#disable">disable(serviceName, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Disables a service for a project, so it can no longer be</p>
 <p class="toc_element">
-  <code><a href="#enable">enable(serviceName=None, body, x__xgafv=None)</a></code></p>
+  <code><a href="#enable">enable(serviceName, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Enables a service for a project, so it can be used</p>
 <p class="toc_element">
   <code><a href="#generateConfigReport">generateConfigReport(body, x__xgafv=None)</a></code></p>
 <p class="firstline">Generates and returns a report (errors, warnings and changes from</p>
 <p class="toc_element">
-  <code><a href="#get">get(serviceName=None, x__xgafv=None)</a></code></p>
+  <code><a href="#get">get(serviceName, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a managed service. Authentication is required unless the service is</p>
 <p class="toc_element">
-  <code><a href="#getConfig">getConfig(serviceName=None, configId=None, x__xgafv=None, view=None)</a></code></p>
+  <code><a href="#getConfig">getConfig(serviceName, configId=None, x__xgafv=None, view=None)</a></code></p>
 <p class="firstline">Gets a service configuration (version) for a managed service.</p>
 <p class="toc_element">
-  <code><a href="#getIamPolicy">getIamPolicy(resource=None, body, x__xgafv=None)</a></code></p>
+  <code><a href="#getIamPolicy">getIamPolicy(resource, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the access control policy for a resource.</p>
 <p class="toc_element">
   <code><a href="#list">list(producerProjectId=None, pageSize=None, pageToken=None, consumerId=None, x__xgafv=None)</a></code></p>
@@ -115,13 +115,13 @@
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
-  <code><a href="#setIamPolicy">setIamPolicy(resource=None, body, x__xgafv=None)</a></code></p>
+  <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
 <p class="toc_element">
-  <code><a href="#testIamPermissions">testIamPermissions(resource=None, body, x__xgafv=None)</a></code></p>
+  <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns permissions that a caller has on the specified resource.</p>
 <p class="toc_element">
-  <code><a href="#undelete">undelete(serviceName=None, x__xgafv=None)</a></code></p>
+  <code><a href="#undelete">undelete(serviceName, x__xgafv=None)</a></code></p>
 <p class="firstline">Revives a previously deleted managed service. The method restores the</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -241,7 +241,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="delete">delete(serviceName=None, x__xgafv=None)</code>
+    <code class="details" id="delete">delete(serviceName, x__xgafv=None)</code>
   <pre>Deletes a managed service. This method will change the service to the
 `Soft-Delete` state for 30 days. Within this period, service producers may
 call UndeleteService to restore the service.
@@ -351,7 +351,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="disable">disable(serviceName=None, body, x__xgafv=None)</code>
+    <code class="details" id="disable">disable(serviceName, body, x__xgafv=None)</code>
   <pre>Disables a service for a project, so it can no longer be
 be used for the project. It prevents accidental usage that may cause
 unexpected billing charges or security leaks.
@@ -475,7 +475,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="enable">enable(serviceName=None, body, x__xgafv=None)</code>
+    <code class="details" id="enable">enable(serviceName, body, x__xgafv=None)</code>
   <pre>Enables a service for a project, so it can be used
 for the project. See
 [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for
@@ -701,7 +701,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="get">get(serviceName=None, x__xgafv=None)</code>
+    <code class="details" id="get">get(serviceName, x__xgafv=None)</code>
   <pre>Gets a managed service. Authentication is required unless the service is
 public.
 
@@ -725,7 +725,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="getConfig">getConfig(serviceName=None, configId=None, x__xgafv=None, view=None)</code>
+    <code class="details" id="getConfig">getConfig(serviceName, configId=None, x__xgafv=None, view=None)</code>
   <pre>Gets a service configuration (version) for a managed service.
 
 Args:
@@ -782,10 +782,9 @@
           # Different APIs can support different monitored resource types. APIs generally
           # provide a `list` method that returns the monitored resource descriptors used
           # by the API.
-        "displayName": "A String", # Optional. A concise name for the monitored resource type that might be
-            # displayed in user interfaces. It should be a Title Cased Noun Phrase,
-            # without any article or other determiners. For example,
-            # `"Google Cloud SQL Database"`.
+        "type": "A String", # Required. The monitored resource type. For example, the type
+            # `"cloudsql_database"` represents databases in Google Cloud SQL.
+            # The maximum length of this value is 256 characters.
         "labels": [ # Required. A set of labels used to describe instances of this monitored
             # resource type. For example, an individual Google Cloud SQL database is
             # identified by values for the labels `"database_id"` and `"zone"`.
@@ -795,9 +794,10 @@
             "key": "A String", # The label key.
           },
         ],
-        "type": "A String", # Required. The monitored resource type. For example, the type
-            # `"cloudsql_database"` represents databases in Google Cloud SQL.
-            # The maximum length of this value is 256 characters.
+        "displayName": "A String", # Optional. A concise name for the monitored resource type that might be
+            # displayed in user interfaces. It should be a Title Cased Noun Phrase,
+            # without any article or other determiners. For example,
+            # `"Google Cloud SQL Database"`.
         "name": "A String", # Optional. The resource name of the monitored resource descriptor:
             # `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
             # {type} is the value of the `type` field in this object and
@@ -828,17 +828,73 @@
         ],
         "displayName": "A String", # The human-readable name for this log. This information appears on
             # the user interface and should be concise.
-        "description": "A String", # A human-readable description of this log. This information appears in
-            # the documentation and can contain details.
         "name": "A String", # The name of the log. It must be less than 512 characters long and can
             # include the following characters: upper- and lower-case alphanumeric
             # characters [A-Za-z0-9], and punctuation characters including
             # slash, underscore, hyphen, period [/_-.].
+        "description": "A String", # A human-readable description of this log. This information appears in
+            # the documentation and can contain details.
       },
     ],
-    "id": "A String", # A unique ID for a specific instance of this message, typically assigned
-        # by the client for tracking purpose. If empty, the server may choose to
-        # generate one instead.
+    "systemParameters": { # ### System parameter configuration # System parameter configuration.
+        #
+        # A system parameter is a special kind of parameter defined by the API
+        # system, not by an individual API. It is typically mapped to an HTTP header
+        # and/or a URL query parameter. This configuration specifies which methods
+        # change the names of the system parameters.
+      "rules": [ # Define system parameters.
+          #
+          # The parameters defined here will override the default parameters
+          # implemented by the system. If this field is missing from the service
+          # config, default system parameters will be used. Default system parameters
+          # and names is implementation-dependent.
+          #
+          # Example: define api key for all methods
+          #
+          #     system_parameters
+          #       rules:
+          #         - selector: "*"
+          #           parameters:
+          #             - name: api_key
+          #               url_query_parameter: api_key
+          #
+          #
+          # Example: define 2 api key names for a specific method.
+          #
+          #     system_parameters
+          #       rules:
+          #         - selector: "/ListShelves"
+          #           parameters:
+          #             - name: api_key
+          #               http_header: Api-Key1
+          #             - name: api_key
+          #               http_header: Api-Key2
+          #
+          # **NOTE:** All service configuration rules follow "last one wins" order.
+        { # Define a system parameter rule mapping system parameter definitions to
+            # methods.
+          "parameters": [ # Define parameters. Multiple names may be defined for a parameter.
+              # For a given method call, only one of them should be used. If multiple
+              # names are used the behavior is implementation-dependent.
+              # If none of the specified names are present the behavior is
+              # parameter-dependent.
+            { # Define a parameter's name and location. The parameter may be passed as either
+                # an HTTP header or a URL query parameter, and if both are passed the behavior
+                # is implementation-dependent.
+              "urlQueryParameter": "A String", # Define the URL query parameter name to use for the parameter. It is case
+                  # sensitive.
+              "httpHeader": "A String", # Define the HTTP header name to use for the parameter. It is case
+                  # insensitive.
+              "name": "A String", # Define the name of the parameter, such as "api_key" . It is case sensitive.
+            },
+          ],
+          "selector": "A String", # Selects the methods to which this rule applies. Use '*' to indicate all
+              # methods in all APIs.
+              #
+              # Refer to selector for syntax details.
+        },
+      ],
+    },
     "backend": { # `Backend` defines the backend configuration for a service. # API backend configuration.
       "rules": [ # A list of API backend rules that apply to individual API methods.
           #
@@ -919,65 +975,10 @@
         },
       ],
     },
-    "systemParameters": { # ### System parameter configuration # System parameter configuration.
-        #
-        # A system parameter is a special kind of parameter defined by the API
-        # system, not by an individual API. It is typically mapped to an HTTP header
-        # and/or a URL query parameter. This configuration specifies which methods
-        # change the names of the system parameters.
-      "rules": [ # Define system parameters.
-          #
-          # The parameters defined here will override the default parameters
-          # implemented by the system. If this field is missing from the service
-          # config, default system parameters will be used. Default system parameters
-          # and names is implementation-dependent.
-          #
-          # Example: define api key for all methods
-          #
-          #     system_parameters
-          #       rules:
-          #         - selector: "*"
-          #           parameters:
-          #             - name: api_key
-          #               url_query_parameter: api_key
-          #
-          #
-          # Example: define 2 api key names for a specific method.
-          #
-          #     system_parameters
-          #       rules:
-          #         - selector: "/ListShelves"
-          #           parameters:
-          #             - name: api_key
-          #               http_header: Api-Key1
-          #             - name: api_key
-          #               http_header: Api-Key2
-          #
-          # **NOTE:** All service configuration rules follow "last one wins" order.
-        { # Define a system parameter rule mapping system parameter definitions to
-            # methods.
-          "parameters": [ # Define parameters. Multiple names may be defined for a parameter.
-              # For a given method call, only one of them should be used. If multiple
-              # names are used the behavior is implementation-dependent.
-              # If none of the specified names are present the behavior is
-              # parameter-dependent.
-            { # Define a parameter's name and location. The parameter may be passed as either
-                # an HTTP header or a URL query parameter, and if both are passed the behavior
-                # is implementation-dependent.
-              "urlQueryParameter": "A String", # Define the URL query parameter name to use for the parameter. It is case
-                  # sensitive.
-              "httpHeader": "A String", # Define the HTTP header name to use for the parameter. It is case
-                  # insensitive.
-              "name": "A String", # Define the name of the parameter, such as "api_key" . It is case sensitive.
-            },
-          ],
-          "selector": "A String", # Selects the methods to which this rule applies. Use '*' to indicate all
-              # methods in all APIs.
-              #
-              # Refer to selector for syntax details.
-        },
-      ],
-    },
+    "title": "A String", # The product title associated with this service.
+    "id": "A String", # A unique ID for a specific instance of this message, typically assigned
+        # by the client for tracking purpose. If empty, the server may choose to
+        # generate one instead.
     "authentication": { # `Authentication` defines the authentication configuration for an API. # Auth configuration.
         #
         # Example for an API targeted for external use:
@@ -1135,11 +1136,11 @@
             #       rules:
             #       - selector: "google.example.library.v1.LibraryService.CreateBook"
             #         allow_unregistered_calls: true
-          "allowUnregisteredCalls": True or False, # True, if the method allows unregistered calls; false otherwise.
           "selector": "A String", # Selects the methods to which this rule applies. Use '*' to indicate all
               # methods in all APIs.
               #
               # Refer to selector for syntax details.
+          "allowUnregisteredCalls": True or False, # True, if the method allows unregistered calls; false otherwise.
         },
       ],
       "producerNotificationChannel": "A String", # The full resource name of a channel used for sending notifications to the
@@ -1379,9 +1380,6 @@
               # `*` for mapping all fields not captured by the path pattern to the HTTP
               # body. NOTE: the referred field must not be a repeated field and must be
               # present at the top-level of request message type.
-          "selector": "A String", # Selects methods to which this rule applies.
-              #
-              # Refer to selector for syntax details.
           "get": "A String", # Used for listing and getting information about resources.
           "mediaDownload": { # Use this only for Scotty Requests. Do not use this for media support using # Use this only for Scotty Requests. Do not use this for bytestream methods.
               # For media support, add instead [][google.bytestream.RestByteStream] as an
@@ -1409,18 +1407,21 @@
                 #
                 # Specify name of the upload service if one is used for upload.
           },
-          "custom": { # A custom pattern is used for defining custom HTTP verb. # Custom pattern is used for defining custom verbs.
-            "path": "A String", # The path matched by this custom verb.
-            "kind": "A String", # The name of this custom HTTP verb.
-          },
+          "selector": "A String", # Selects methods to which this rule applies.
+              #
+              # Refer to selector for syntax details.
           "responseBody": "A String", # The name of the response field whose value is mapped to the HTTP body of
               # response. Other response fields are ignored. This field is optional. When
               # not set, the response message will be used as HTTP body of response.
               # NOTE: the referred field must be not a repeated field and must be present
               # at the top-level of response message type.
           "put": "A String", # Used for updating a resource.
-          "post": "A String", # Used for creating a resource.
           "patch": "A String", # Used for updating a resource.
+          "post": "A String", # Used for creating a resource.
+          "custom": { # A custom pattern is used for defining custom HTTP verb. # Custom pattern is used for defining custom verbs.
+            "path": "A String", # The path matched by this custom verb.
+            "kind": "A String", # The name of this custom HTTP verb.
+          },
           "delete": "A String", # Used for deleting a resource.
         },
       ],
@@ -1664,14 +1665,7 @@
           # existing data unusable.
         "displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces.
             # Use sentence case without an ending period, for example "Request count".
-        "name": "A String", # The resource name of the metric descriptor. Depending on the
-            # implementation, the name typically includes: (1) the parent resource name
-            # that defines the scope of the metric type or of its data; and (2) the
-            # metric's URL-encoded type, which also appears in the `type` field of this
-            # descriptor. For example, following is the resource name of a custom
-            # metric within the GCP project `my-project-id`:
-            #
-            #     "projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
+        "description": "A String", # A detailed description of the metric, which can be used in documentation.
         "metricKind": "A String", # Whether the metric records instantaneous values, changes to a value, etc.
             # Some combinations of `metric_kind` and `value_type` might not be supported.
         "valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
@@ -1759,7 +1753,14 @@
             #    `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
             # * `NAME` is a sequence of non-blank printable ASCII characters not
             #    containing '{' or '}'.
-        "description": "A String", # A detailed description of the metric, which can be used in documentation.
+        "name": "A String", # The resource name of the metric descriptor. Depending on the
+            # implementation, the name typically includes: (1) the parent resource name
+            # that defines the scope of the metric type or of its data; and (2) the
+            # metric's URL-encoded type, which also appears in the `type` field of this
+            # descriptor. For example, following is the resource name of a custom
+            # metric within the GCP project `my-project-id`:
+            #
+            #     "projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
       },
     ],
     "enums": [ # A list of all enum types included in this API service.  Enums
@@ -1770,11 +1771,28 @@
         #     enums:
         #     - name: google.someapi.v1.SomeEnum
       { # Enum type definition.
+        "syntax": "A String", # The source syntax.
         "sourceContext": { # `SourceContext` represents information about the source of a # The source context.
             # protobuf element, like the file in which it is defined.
           "fileName": "A String", # The path-qualified name of the .proto file that contained the associated
               # protobuf element.  For example: `"google/protobuf/source_context.proto"`.
         },
+        "options": [ # Protocol buffer options.
+          { # A protocol buffer option, which can be attached to a message, field,
+              # enumeration, etc.
+            "name": "A String", # The option's name. For protobuf built-in options (options defined in
+                # descriptor.proto), this is the short name. For example, `"map_entry"`.
+                # For custom options, it should be the fully-qualified name. For example,
+                # `"google.api.http"`.
+            "value": { # The option's value packed in an Any message. If the value is a primitive,
+                # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+                # should be used. If the value is an enum, it should be stored as an int32
+                # value using the google.protobuf.Int32Value type.
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
+          },
+        ],
+        "name": "A String", # Enum type name.
         "enumvalue": [ # Enum value definitions.
           { # Enum value definition.
             "number": 42, # Enum value number.
@@ -1796,23 +1814,6 @@
             ],
           },
         ],
-        "options": [ # Protocol buffer options.
-          { # A protocol buffer option, which can be attached to a message, field,
-              # enumeration, etc.
-            "name": "A String", # The option's name. For protobuf built-in options (options defined in
-                # descriptor.proto), this is the short name. For example, `"map_entry"`.
-                # For custom options, it should be the fully-qualified name. For example,
-                # `"google.api.http"`.
-            "value": { # The option's value packed in an Any message. If the value is a primitive,
-                # the corresponding wrapper type defined in google/protobuf/wrappers.proto
-                # should be used. If the value is an enum, it should be stored as an int32
-                # value using the google.protobuf.Int32Value type.
-              "a_key": "", # Properties of the object. Contains field @type with type URL.
-            },
-          },
-        ],
-        "name": "A String", # Enum type name.
-        "syntax": "A String", # The source syntax.
       },
     ],
     "types": [ # A list of all proto message types included in this API service.
@@ -2154,16 +2155,15 @@
           "provided": [ # A list of full type names of provided contexts.
             "A String",
           ],
-          "selector": "A String", # Selects the methods to which this rule applies.
-              #
-              # Refer to selector for syntax details.
           "requested": [ # A list of full type names of requested contexts.
             "A String",
           ],
+          "selector": "A String", # Selects the methods to which this rule applies.
+              #
+              # Refer to selector for syntax details.
         },
       ],
     },
-    "title": "A String", # The product title associated with this service.
     "endpoints": [ # Configuration for network endpoints.  If this is empty, then an endpoint
         # with the same name as the service is automatically generated to service all
         # defined APIs.
@@ -2189,18 +2189,18 @@
             # receive and respond to HTTP OPTIONS requests. The response will be used by
             # the browser to determine whether the subsequent cross-origin request is
             # allowed to proceed.
-        "aliases": [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
-            # please specify multiple google.api.Endpoint for each of the intented
-            # alias.
-            #
-            # Additional names that this endpoint will be hosted on.
+        "apis": [ # The list of APIs served by this endpoint.
           "A String",
         ],
         "features": [ # The list of features enabled on this endpoint.
           "A String",
         ],
         "name": "A String", # The canonical name of this endpoint.
-        "apis": [ # The list of APIs served by this endpoint.
+        "aliases": [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
+            # please specify multiple google.api.Endpoint for each of the intented
+            # alias.
+            #
+            # Additional names that this endpoint will be hosted on.
           "A String",
         ],
       },
@@ -2225,7 +2225,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="getIamPolicy">getIamPolicy(resource=None, body, x__xgafv=None)</code>
+    <code class="details" id="getIamPolicy">getIamPolicy(resource, body, x__xgafv=None)</code>
   <pre>Gets the access control policy for a resource.
 Returns an empty policy if the resource exists and does not have a policy
 set.
@@ -2525,7 +2525,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="setIamPolicy">setIamPolicy(resource=None, body, x__xgafv=None)</code>
+    <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
   <pre>Sets the access control policy on the specified resource. Replaces any
 existing policy.
 
@@ -2993,7 +2993,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="testIamPermissions">testIamPermissions(resource=None, body, x__xgafv=None)</code>
+    <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
   <pre>Returns permissions that a caller has on the specified resource.
 If the resource does not exist, this will return an empty set of
 permissions, not a NOT_FOUND error.
@@ -3034,7 +3034,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="undelete">undelete(serviceName=None, x__xgafv=None)</code>
+    <code class="details" id="undelete">undelete(serviceName, x__xgafv=None)</code>
   <pre>Revives a previously deleted managed service. The method restores the
 service using the configuration at the time the service was deleted.
 The target service must exist and must have been deleted within the