Clean and regen docs (#401)

diff --git a/docs/dyn/servicemanagement_v1.services.html b/docs/dyn/servicemanagement_v1.services.html
index f6006ca..ee469b9 100644
--- a/docs/dyn/servicemanagement_v1.services.html
+++ b/docs/dyn/servicemanagement_v1.services.html
@@ -80,6 +80,11 @@
 <p class="firstline">Returns the configs Resource.</p>
 
 <p class="toc_element">
+  <code><a href="servicemanagement_v1.services.consumers.html">consumers()</a></code>
+</p>
+<p class="firstline">Returns the consumers Resource.</p>
+
+<p class="toc_element">
   <code><a href="servicemanagement_v1.services.rollouts.html">rollouts()</a></code>
 </p>
 <p class="firstline">Returns the rollouts Resource.</p>
@@ -152,12 +157,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    "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.
-    },
     "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:
@@ -175,7 +174,7 @@
         # 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` which can be used for common error conditions.
+        # in the package `google.rpc` that can be used for common error conditions.
         #
         # # Language mapping
         #
@@ -198,7 +197,7 @@
         #     errors.
         #
         # - Workflow errors. A typical workflow has multiple steps. Each step may
-        #     have a `Status` message for error reporting purpose.
+        #     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
@@ -237,6 +236,12 @@
     "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.
+    },
   }</pre>
 </div>
 
@@ -262,12 +267,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    "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.
-    },
     "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:
@@ -285,7 +284,7 @@
         # 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` which can be used for common error conditions.
+        # in the package `google.rpc` that can be used for common error conditions.
         #
         # # Language mapping
         #
@@ -308,7 +307,7 @@
         #     errors.
         #
         # - Workflow errors. A typical workflow has multiple steps. Each step may
-        #     have a `Status` message for error reporting purpose.
+        #     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
@@ -347,6 +346,12 @@
     "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.
+    },
   }</pre>
 </div>
 
@@ -386,12 +391,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    "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.
-    },
     "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:
@@ -409,7 +408,7 @@
         # 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` which can be used for common error conditions.
+        # in the package `google.rpc` that can be used for common error conditions.
         #
         # # Language mapping
         #
@@ -432,7 +431,7 @@
         #     errors.
         #
         # - Workflow errors. A typical workflow has multiple steps. Each step may
-        #     have a `Status` message for error reporting purpose.
+        #     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
@@ -471,6 +470,12 @@
     "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.
+    },
   }</pre>
 </div>
 
@@ -511,12 +516,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    "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.
-    },
     "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:
@@ -534,7 +533,7 @@
         # 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` which can be used for common error conditions.
+        # in the package `google.rpc` that can be used for common error conditions.
         #
         # # Language mapping
         #
@@ -557,7 +556,7 @@
         #     errors.
         #
         # - Workflow errors. A typical workflow has multiple steps. Each step may
-        #     have a `Status` message for error reporting purpose.
+        #     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
@@ -596,6 +595,12 @@
     "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.
+    },
   }</pre>
 </div>
 
@@ -692,9 +697,9 @@
         # report
         # belongs to.
       { # Represents a diagnostic message (error or warning)
-        "kind": "A String", # The kind of diagnostic information provided.
         "message": "A String", # Message describing the error or warning.
         "location": "A String", # File name and line number of the error or warning.
+        "kind": "A String", # The kind of diagnostic information provided.
       },
     ],
   }</pre>
@@ -895,6 +900,9 @@
         },
       ],
     },
+    "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.
     "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.
           #
@@ -903,6 +911,8 @@
           "selector": "A String", # Selects the methods to which this rule applies.
               #
               # Refer to selector for syntax details.
+          "minDeadline": 3.14, # Minimum deadline in seconds needed for this method. Calls having deadline
+              # value lower than this will be rejected.
           "deadline": 3.14, # The number of seconds to wait for a response from a request.  The
               # default depends on the deployment context.
           "address": "A String", # The address of the API backend.
@@ -976,9 +986,6 @@
       ],
     },
     "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:
@@ -1031,13 +1038,6 @@
                 #      canonical_scopes: https://www.googleapis.com/auth/calendar,
                 #                        https://www.googleapis.com/auth/calendar.read
           },
-          "allowWithoutCredential": True or False, # Whether to allow requests without a credential. The credential can be
-              # an OAuth token, Google cookies (first-party auth) or EndUserCreds.
-              #
-              # For requests without credentials, if the service control environment is
-              # specified, each incoming request **must** be associated with a service
-              # consumer. This can be done by passing an API key that belongs to a consumer
-              # project.
           "requirements": [ # Requirements for additional authentication providers.
             { # User-defined authentication requirements, including support for
                 # [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
@@ -1064,6 +1064,18 @@
                   #                bookstore_web.apps.googleusercontent.com
             },
           ],
+          "allowWithoutCredential": True or False, # Whether to allow requests without a credential. The credential can be
+              # an OAuth token, Google cookies (first-party auth) or EndUserCreds.
+              #
+              # For requests without credentials, if the service control environment is
+              # specified, each incoming request **must** be associated with a service
+              # consumer. This can be done by passing an API key that belongs to a consumer
+              # project.
+          "customAuth": { # Configuration for a custom authentication provider. # Configuration for custom authentication.
+            "provider": "A String", # A configuration string containing connection information for the
+                # authentication provider, typically formatted as a SmartService string
+                # (go/smartservice).
+          },
           "selector": "A String", # Selects the methods to which this rule applies.
               #
               # Refer to selector for syntax details.
@@ -1136,11 +1148,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
@@ -1223,6 +1235,11 @@
             # parameters. Assume the following definition of the request message:
             #
             #
+            #     service Messaging {
+            #       rpc GetMessage(GetMessageRequest) returns (Message) {
+            #         option (google.api.http).get = "/v1/messages/{message_id}";
+            #       }
+            #     }
             #     message GetMessageRequest {
             #       message SubMessage {
             #         string subfield = 1;
@@ -1381,31 +1398,50 @@
               # body. NOTE: the referred field must not be a repeated field and must be
               # present at the top-level of request message type.
           "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
-              # API to your configuration.
-              # Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
-              # your configuration for Bytestream methods.
-            "enabled": True or False, # Whether download is enabled.
-            "downloadService": "A String", # DO NOT USE THIS FIELD UNTIL THIS WARNING IS REMOVED.
-                #
-                # Specify name of the download service if one is used for download.
-          },
+          "restCollection": "A String", # Optional. The REST collection name is by default derived from the URL
+              # pattern. If specified, this field overrides the default collection name.
+              # Example:
+              #
+              #     rpc AddressesAggregatedList(AddressesAggregatedListRequest)
+              #         returns (AddressesAggregatedListResponse) {
+              #       option (google.api.http) = {
+              #         get: "/v1/projects/{project_id}/aggregated/addresses"
+              #         rest_collection: "projects.addresses"
+              #       };
+              #     }
+              #
+              # This method has the automatically derived collection name
+              # "projects.aggregated". Because, semantically, this rpc is actually an
+              # operation on the "projects.addresses" collection, the `rest_collection`
+              # field is configured to override the derived collection name.
           "additionalBindings": [ # Additional HTTP bindings for the selector. Nested bindings must
               # not contain an `additional_bindings` field themselves (that is,
               # the nesting may only be one level deep).
             # Object with schema name: HttpRule
           ],
-          "mediaUpload": { # 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 media support using
+          "mediaUpload": { # Defines the Media configuration for a service in case of an upload. # Use this only for Scotty Requests. Do not use this for media support using
               # Bytestream, add instead
               # [][google.bytestream.RestByteStream] as an API to your
               # configuration for Bytestream methods.
+              # Use this only for Scotty Requests. Do not use this for media support using
               # Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
               # your configuration for Bytestream methods.
+            "progressNotification": True or False, # Whether to receive a notification for progress changes of media upload.
+            "startNotification": True or False, # Whether to receive a notification on the start of media upload.
+            "mimeTypes": [ # An array of mimetype patterns. Esf will only accept uploads that match one
+                # of the given patterns.
+              "A String",
+            ],
+            "completeNotification": True or False, # A boolean that determines whether a notification for the completion of an
+                # upload should be sent to the backend. These notifications will not be seen
+                # by the client and will not consume quota.
             "enabled": True or False, # Whether upload is enabled.
-            "uploadService": "A String", # DO NOT USE THIS FIELD UNTIL THIS WARNING IS REMOVED.
+            "uploadService": "A String", # DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.
                 #
                 # Specify name of the upload service if one is used for upload.
+            "maxSize": "A String", # Optional maximum acceptable size for an upload.
+                # The size is specified in bytes.
+            "dropzone": "A String", # Name of the Scotty dropzone to use for the current API.
           },
           "selector": "A String", # Selects methods to which this rule applies.
               #
@@ -1415,6 +1451,39 @@
               # 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.
+          "restMethodName": "A String", # Optional. The rest method name is by default derived from the URL
+              # pattern. If specified, this field overrides the default method name.
+              # Example:
+              #
+              #     rpc CreateResource(CreateResourceRequest)
+              #         returns (CreateResourceResponse) {
+              #       option (google.api.http) = {
+              #         post: "/v1/resources",
+              #         body: "resource",
+              #         rest_method_name: "insert"
+              #       };
+              #     }
+              #
+              # This method has the automatically derived rest method name "create", but
+              #  for backwards compatability with apiary, it is specified as insert.
+          "mediaDownload": { # Defines the Media configuration for a service in case of a download. # Use this only for Scotty Requests. Do not use this for bytestream methods.
+              # For media support, add instead [][google.bytestream.RestByteStream] as an
+              # API to your configuration.
+              # Use this only for Scotty Requests. Do not use this for media support using
+              # Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
+              # your configuration for Bytestream methods.
+            "useDirectDownload": True or False, # A boolean that determines if direct download from ESF should be used for
+                # download of this media.
+            "enabled": True or False, # Whether download is enabled.
+            "completeNotification": True or False, # A boolean that determines whether a notification for the completion of a
+                # download should be sent to the backend.
+            "maxDirectDownloadSize": "A String", # Optional maximum acceptable size for direct download.
+                # The size is specified in bytes.
+            "dropzone": "A String", # Name of the Scotty dropzone to use for the current API.
+            "downloadService": "A String", # DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.
+                #
+                # Specify name of the download service if one is used for download.
+          },
           "put": "A String", # Used for updating a resource.
           "patch": "A String", # Used for updating a resource.
           "post": "A String", # Used for creating a resource.
@@ -1425,6 +1494,12 @@
           "delete": "A String", # Used for deleting a resource.
         },
       ],
+      "fullyDecodeReservedExpansion": True or False, # When set to true, URL path parmeters will be fully URI-decoded except in
+          # cases of single segment matches in reserved expansion, where "%2F" will be
+          # left encoded.
+          #
+          # The default behavior is to not decode RFC 6570 reserved characters in multi
+          # segment matches.
     },
     "apis": [ # A list of API interfaces exported by this service. Only the `name` field
         # of the google.protobuf.Api needs to be provided by the configuration
@@ -1432,31 +1507,8 @@
         # normalization process. It is an error to specify an API interface here
         # which cannot be resolved against the associated IDL files.
       { # Api is a light-weight descriptor for a protocol buffer service.
-        "methods": [ # The methods of this api, in unspecified order.
-          { # Method represents a method of an api.
-            "name": "A String", # The simple name of this method.
-            "requestStreaming": True or False, # If true, the request is streamed.
-            "responseTypeUrl": "A String", # The URL of the output message type.
-            "requestTypeUrl": "A String", # A URL of the input message type.
-            "responseStreaming": True or False, # If true, the response is streamed.
-            "syntax": "A String", # The source syntax of this method.
-            "options": [ # Any metadata attached to the method.
-              { # 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", # The fully qualified name of this api, including package name
+            # followed by the api's simple name.
         "sourceContext": { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
             # message.
             # protobuf element, like the file in which it is defined.
@@ -1582,8 +1634,31 @@
             },
           },
         ],
-        "name": "A String", # The fully qualified name of this api, including package name
-            # followed by the api's simple name.
+        "methods": [ # The methods of this api, in unspecified order.
+          { # Method represents a method of an api.
+            "name": "A String", # The simple name of this method.
+            "requestStreaming": True or False, # If true, the request is streamed.
+            "responseTypeUrl": "A String", # The URL of the output message type.
+            "requestTypeUrl": "A String", # A URL of the input message type.
+            "responseStreaming": True or False, # If true, the response is streamed.
+            "syntax": "A String", # The source syntax of this method.
+            "options": [ # Any metadata attached to the method.
+              { # 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.
+                },
+              },
+            ],
+          },
+        ],
       },
     ],
     "customError": { # Customize service error responses.  For example, list any service # Custom error configuration.
@@ -1611,6 +1686,160 @@
         "A String",
       ],
     },
+    "quota": { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
+        # usage.
+        #
+        # The quota configuration works this way:
+        # - The service configuration defines a set of metrics.
+        # - For API calls, the quota.metric_rules maps methods to metrics with
+        #   corresponding costs.
+        # - The quota.limits defines limits on the metrics, which will be used for
+        #   quota checks at runtime.
+        #
+        # An example quota configuration in yaml format:
+        #
+        #    quota:
+        #
+        #      - name: apiWriteQpsPerProject
+        #        metric: library.googleapis.com/write_calls
+        #        unit: "1/min/{project}"  # rate limit for consumer projects
+        #        values:
+        #          STANDARD: 10000
+        #
+        #
+        #      # The metric rules bind all methods to the read_calls metric,
+        #      # except for the UpdateBook and DeleteBook methods. These two methods
+        #      # are mapped to the write_calls metric, with the UpdateBook method
+        #      # consuming at twice rate as the DeleteBook method.
+        #      metric_rules:
+        #      - selector: "*"
+        #        metric_costs:
+        #          library.googleapis.com/read_calls: 1
+        #      - selector: google.example.library.v1.LibraryService.UpdateBook
+        #        metric_costs:
+        #          library.googleapis.com/write_calls: 2
+        #      - selector: google.example.library.v1.LibraryService.DeleteBook
+        #        metric_costs:
+        #          library.googleapis.com/write_calls: 1
+        #
+        #  Corresponding Metric definition:
+        #
+        #      metrics:
+        #      - name: library.googleapis.com/read_calls
+        #        display_name: Read requests
+        #        metric_kind: DELTA
+        #        value_type: INT64
+        #
+        #      - name: library.googleapis.com/write_calls
+        #        display_name: Write requests
+        #        metric_kind: DELTA
+        #        value_type: INT64
+      "metricRules": [ # List of `MetricRule` definitions, each one mapping a selected method to one
+          # or more metrics.
+        { # Bind API methods to metrics. Binding a method to a metric causes that
+            # metric's configured quota behaviors to apply to the method call.
+          "metricCosts": { # Metrics to update when the selected methods are called, and the associated
+              # cost applied to each metric.
+              #
+              # The key of the map is the metric name, and the values are the amount
+              # increased for the metric against which the quota limits are defined.
+              # The value must not be negative.
+            "a_key": "A String",
+          },
+          "selector": "A String", # Selects the methods to which this rule applies.
+              #
+              # Refer to selector for syntax details.
+        },
+      ],
+      "limits": [ # List of `QuotaLimit` definitions for the service.
+        { # `QuotaLimit` defines a specific limit that applies over a specified duration
+            # for a limit type. There can be at most one limit for a duration and limit
+            # type combination defined within a `QuotaGroup`.
+          "displayName": "A String", # User-visible display name for this limit.
+              # Optional. If not set, the UI will provide a default display name based on
+              # the quota configuration. This field can be used to override the default
+              # display name generated from the configuration.
+          "description": "A String", # Optional. User-visible, extended description for this quota limit.
+              # Should be used only when more context is needed to understand this limit
+              # than provided by the limit's display name (see: `display_name`).
+          "defaultLimit": "A String", # Default number of tokens that can be consumed during the specified
+              # duration. This is the number of tokens assigned when a client
+              # application developer activates the service for his/her project.
+              #
+              # Specifying a value of 0 will block all requests. This can be used if you
+              # are provisioning quota to selected consumers and blocking others.
+              # Similarly, a value of -1 will indicate an unlimited quota. No other
+              # negative values are allowed.
+              #
+              # Used by group-based quotas only.
+          "metric": "A String", # The name of the metric this quota limit applies to. The quota limits with
+              # the same metric will be checked together during runtime. The metric must be
+              # defined within the service config.
+              #
+              # Used by metric-based quotas only.
+          "values": { # Tiered limit values, currently only STANDARD is supported.
+            "a_key": "A String",
+          },
+          "maxLimit": "A String", # Maximum number of tokens that can be consumed during the specified
+              # duration. Client application developers can override the default limit up
+              # to this maximum. If specified, this value cannot be set to a value less
+              # than the default limit. If not specified, it is set to the default limit.
+              #
+              # To allow clients to apply overrides with no upper bound, set this to -1,
+              # indicating unlimited maximum quota.
+              #
+              # Used by group-based quotas only.
+          "duration": "A String", # Duration of this limit in textual notation. Example: "100s", "24h", "1d".
+              # For duration longer than a day, only multiple of days is supported. We
+              # support only "100s" and "1d" for now. Additional support will be added in
+              # the future. "0" indicates indefinite duration.
+              #
+              # Used by group-based quotas only.
+          "freeTier": "A String", # Free tier value displayed in the Developers Console for this limit.
+              # The free tier is the number of tokens that will be subtracted from the
+              # billed amount when billing is enabled.
+              # This field can only be set on a limit with duration "1d", in a billable
+              # group; it is invalid on any other limit. If this field is not set, it
+              # defaults to 0, indicating that there is no free tier for this service.
+              #
+              # Used by group-based quotas only.
+          "unit": "A String", # Specify the unit of the quota limit. It uses the same syntax as
+              # Metric.unit. The supported unit kinds are determined by the quota
+              # backend system.
+              #
+              # The [Google Service Control](https://cloud.google.com/service-control)
+              # supports the following unit components:
+              # * One of the time intevals:
+              #   * "/min"  for quota every minute.
+              #   * "/d"  for quota every 24 hours, starting 00:00 US Pacific Time.
+              #   * Otherwise the quota won't be reset by time, such as storage limit.
+              # * One and only one of the granted containers:
+              #   * "/{project}" quota for a project
+              #
+              # Here are some examples:
+              # * "1/min/{project}" for quota per minute per project.
+              #
+              # Note: the order of unit components is insignificant.
+              # The "1" at the beginning is required to follow the metric unit syntax.
+              #
+              # Used by metric-based quotas only.
+          "name": "A String", # Name of the quota limit. The name is used to refer to the limit when
+              # overriding the default limit on per-consumer basis.
+              #
+              # For metric-based quota limits, the name must be provided, and it must be
+              # unique within the service. The name can only include alphanumeric
+              # characters as well as '-'.
+              #
+              # The maximum length of the limit name is 64 characters.
+              #
+              # The name of a limit is used as a unique identifier for this limit.
+              # Therefore, once a limit has been put into use, its name should be
+              # immutable. You can use the display_name field to provide a user-friendly
+              # name for the limit. The display name can be evolved over time without
+              # affecting the identity of the limit.
+        },
+      ],
+    },
     "visibility": { # `Visibility` defines restrictions for the visibility of service # API visibility configuration.
         # elements.  Restrictions are specified using visibility labels
         # (e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects.
@@ -1771,12 +2000,32 @@
         #     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"`.
         },
+        "enumvalue": [ # Enum value definitions.
+          { # Enum value definition.
+            "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 value name.
+            "number": 42, # Enum value number.
+          },
+        ],
         "options": [ # Protocol buffer options.
           { # A protocol buffer option, which can be attached to a message, field,
               # enumeration, etc.
@@ -1793,27 +2042,7 @@
           },
         ],
         "name": "A String", # Enum type name.
-        "enumvalue": [ # Enum value definitions.
-          { # Enum value definition.
-            "number": 42, # Enum value number.
-            "name": "A String", # Enum value name.
-            "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.
-                },
-              },
-            ],
-          },
-        ],
+        "syntax": "A String", # The source syntax.
       },
     ],
     "types": [ # A list of all proto message types included in this API service.
@@ -2155,12 +2384,12 @@
           "provided": [ # A list of full type names of provided contexts.
             "A String",
           ],
-          "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.
+          "requested": [ # A list of full type names of requested contexts.
+            "A String",
+          ],
         },
       ],
     },
@@ -2183,19 +2412,26 @@
           #       # allowed to proceed.
           #     - name: library-example.googleapis.com
           #       allow_cors: true
+        "target": "A String", # The specification of an Internet routable address of API frontend that will
+            # handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary).
+            # It should be either a valid IPv4 address or a fully-qualified domain name.
+            # For example, "8.8.8.8" or "myservice.appspot.com".
+        "apis": [ # The list of APIs served by this endpoint.
+            #
+            # If no APIs are specified this translates to "all APIs" exported by the
+            # service, as defined in the top-level service configuration.
+          "A String",
+        ],
         "allowCors": True or False, # Allowing
             # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
             # cross-domain traffic, would allow the backends served from this endpoint to
             # 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.
-        "apis": [ # The list of APIs served by this endpoint.
-          "A String",
-        ],
+        "name": "A String", # The canonical name of this endpoint.
         "features": [ # The list of features enabled on this endpoint.
           "A String",
         ],
-        "name": "A String", # The canonical name of 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.
@@ -2282,48 +2518,51 @@
       { # Specifies the audit configuration for a service.
           # The configuration determines which permission types are logged, and what
           # identities, if any, are exempted from logging.
-          # An AuditConifg must have one or more AuditLogConfigs.
+          # An AuditConfig must have one or more AuditLogConfigs.
           #
           # If there are AuditConfigs for both `allServices` and a specific service,
           # the union of the two AuditConfigs is used for that service: the log_types
           # specified in each AuditConfig are enabled, and the exempted_members in each
           # AuditConfig are exempted.
+          #
           # Example Policy with multiple AuditConfigs:
-          # {
-          #   "audit_configs": [
+          #
           #     {
-          #       "service": "allServices"
-          #       "audit_log_configs": [
+          #       "audit_configs": [
           #         {
-          #           "log_type": "DATA_READ",
-          #           "exempted_members": [
-          #             "user:foo@gmail.com"
+          #           "service": "allServices"
+          #           "audit_log_configs": [
+          #             {
+          #               "log_type": "DATA_READ",
+          #               "exempted_members": [
+          #                 "user:foo@gmail.com"
+          #               ]
+          #             },
+          #             {
+          #               "log_type": "DATA_WRITE",
+          #             },
+          #             {
+          #               "log_type": "ADMIN_READ",
+          #             }
           #           ]
           #         },
           #         {
-          #           "log_type": "DATA_WRITE",
-          #         },
-          #         {
-          #           "log_type": "ADMIN_READ",
-          #         }
-          #       ]
-          #     },
-          #     {
-          #       "service": "fooservice@googleapis.com"
-          #       "audit_log_configs": [
-          #         {
-          #           "log_type": "DATA_READ",
-          #         },
-          #         {
-          #           "log_type": "DATA_WRITE",
-          #           "exempted_members": [
-          #             "user:bar@gmail.com"
+          #           "service": "fooservice.googleapis.com"
+          #           "audit_log_configs": [
+          #             {
+          #               "log_type": "DATA_READ",
+          #             },
+          #             {
+          #               "log_type": "DATA_WRITE",
+          #               "exempted_members": [
+          #                 "user:bar@gmail.com"
+          #               ]
+          #             }
           #           ]
           #         }
           #       ]
           #     }
-          #   ]
-          # }
+          #
           # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
           # logging. It also exempts foo@gmail.com from DATA_READ logging, and
           # bar@gmail.com from DATA_WRITE logging.
@@ -2409,6 +2648,7 @@
             "dataAccess": { # Write a Data Access (Gin) log # Data access options.
             },
             "cloudAudit": { # Write a Cloud Audit log # Cloud audit options.
+              "logName": "A String", # The log_name to populate in the Cloud Audit Record.
             },
           },
         ],
@@ -2456,6 +2696,7 @@
             # * `group:{emailid}`: An email address that represents a Google group.
             #    For example, `admins@example.com`.
             #
+            #
             # * `domain:{domain}`: A Google Apps domain name that represents all the
             #    users of that domain. For example, `google.com` or `example.com`.
             #
@@ -2574,48 +2815,51 @@
         { # Specifies the audit configuration for a service.
             # The configuration determines which permission types are logged, and what
             # identities, if any, are exempted from logging.
-            # An AuditConifg must have one or more AuditLogConfigs.
+            # An AuditConfig must have one or more AuditLogConfigs.
             #
             # If there are AuditConfigs for both `allServices` and a specific service,
             # the union of the two AuditConfigs is used for that service: the log_types
             # specified in each AuditConfig are enabled, and the exempted_members in each
             # AuditConfig are exempted.
+            #
             # Example Policy with multiple AuditConfigs:
-            # {
-            #   "audit_configs": [
+            #
             #     {
-            #       "service": "allServices"
-            #       "audit_log_configs": [
+            #       "audit_configs": [
             #         {
-            #           "log_type": "DATA_READ",
-            #           "exempted_members": [
-            #             "user:foo@gmail.com"
+            #           "service": "allServices"
+            #           "audit_log_configs": [
+            #             {
+            #               "log_type": "DATA_READ",
+            #               "exempted_members": [
+            #                 "user:foo@gmail.com"
+            #               ]
+            #             },
+            #             {
+            #               "log_type": "DATA_WRITE",
+            #             },
+            #             {
+            #               "log_type": "ADMIN_READ",
+            #             }
             #           ]
             #         },
             #         {
-            #           "log_type": "DATA_WRITE",
-            #         },
-            #         {
-            #           "log_type": "ADMIN_READ",
-            #         }
-            #       ]
-            #     },
-            #     {
-            #       "service": "fooservice@googleapis.com"
-            #       "audit_log_configs": [
-            #         {
-            #           "log_type": "DATA_READ",
-            #         },
-            #         {
-            #           "log_type": "DATA_WRITE",
-            #           "exempted_members": [
-            #             "user:bar@gmail.com"
+            #           "service": "fooservice.googleapis.com"
+            #           "audit_log_configs": [
+            #             {
+            #               "log_type": "DATA_READ",
+            #             },
+            #             {
+            #               "log_type": "DATA_WRITE",
+            #               "exempted_members": [
+            #                 "user:bar@gmail.com"
+            #               ]
+            #             }
             #           ]
             #         }
             #       ]
             #     }
-            #   ]
-            # }
+            #
             # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
             # logging. It also exempts foo@gmail.com from DATA_READ logging, and
             # bar@gmail.com from DATA_WRITE logging.
@@ -2701,6 +2945,7 @@
               "dataAccess": { # Write a Data Access (Gin) log # Data access options.
               },
               "cloudAudit": { # Write a Cloud Audit log # Cloud audit options.
+                "logName": "A String", # The log_name to populate in the Cloud Audit Record.
               },
             },
           ],
@@ -2748,6 +2993,7 @@
               # * `group:{emailid}`: An email address that represents a Google group.
               #    For example, `admins@example.com`.
               #
+              #
               # * `domain:{domain}`: A Google Apps domain name that represents all the
               #    users of that domain. For example, `google.com` or `example.com`.
               #
@@ -2807,48 +3053,51 @@
       { # Specifies the audit configuration for a service.
           # The configuration determines which permission types are logged, and what
           # identities, if any, are exempted from logging.
-          # An AuditConifg must have one or more AuditLogConfigs.
+          # An AuditConfig must have one or more AuditLogConfigs.
           #
           # If there are AuditConfigs for both `allServices` and a specific service,
           # the union of the two AuditConfigs is used for that service: the log_types
           # specified in each AuditConfig are enabled, and the exempted_members in each
           # AuditConfig are exempted.
+          #
           # Example Policy with multiple AuditConfigs:
-          # {
-          #   "audit_configs": [
+          #
           #     {
-          #       "service": "allServices"
-          #       "audit_log_configs": [
+          #       "audit_configs": [
           #         {
-          #           "log_type": "DATA_READ",
-          #           "exempted_members": [
-          #             "user:foo@gmail.com"
+          #           "service": "allServices"
+          #           "audit_log_configs": [
+          #             {
+          #               "log_type": "DATA_READ",
+          #               "exempted_members": [
+          #                 "user:foo@gmail.com"
+          #               ]
+          #             },
+          #             {
+          #               "log_type": "DATA_WRITE",
+          #             },
+          #             {
+          #               "log_type": "ADMIN_READ",
+          #             }
           #           ]
           #         },
           #         {
-          #           "log_type": "DATA_WRITE",
-          #         },
-          #         {
-          #           "log_type": "ADMIN_READ",
-          #         }
-          #       ]
-          #     },
-          #     {
-          #       "service": "fooservice@googleapis.com"
-          #       "audit_log_configs": [
-          #         {
-          #           "log_type": "DATA_READ",
-          #         },
-          #         {
-          #           "log_type": "DATA_WRITE",
-          #           "exempted_members": [
-          #             "user:bar@gmail.com"
+          #           "service": "fooservice.googleapis.com"
+          #           "audit_log_configs": [
+          #             {
+          #               "log_type": "DATA_READ",
+          #             },
+          #             {
+          #               "log_type": "DATA_WRITE",
+          #               "exempted_members": [
+          #                 "user:bar@gmail.com"
+          #               ]
+          #             }
           #           ]
           #         }
           #       ]
           #     }
-          #   ]
-          # }
+          #
           # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
           # logging. It also exempts foo@gmail.com from DATA_READ logging, and
           # bar@gmail.com from DATA_WRITE logging.
@@ -2934,6 +3183,7 @@
             "dataAccess": { # Write a Data Access (Gin) log # Data access options.
             },
             "cloudAudit": { # Write a Cloud Audit log # Cloud audit options.
+              "logName": "A String", # The log_name to populate in the Cloud Audit Record.
             },
           },
         ],
@@ -2981,6 +3231,7 @@
             # * `group:{emailid}`: An email address that represents a Google group.
             #    For example, `admins@example.com`.
             #
+            #
             # * `domain:{domain}`: A Google Apps domain name that represents all the
             #    users of that domain. For example, `google.com` or `example.com`.
             #
@@ -3055,12 +3306,6 @@
 
     { # This resource represents a long-running operation that is the result of a
       # network API call.
-    "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.
-    },
     "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:
@@ -3078,7 +3323,7 @@
         # 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` which can be used for common error conditions.
+        # in the package `google.rpc` that can be used for common error conditions.
         #
         # # Language mapping
         #
@@ -3101,7 +3346,7 @@
         #     errors.
         #
         # - Workflow errors. A typical workflow has multiple steps. Each step may
-        #     have a `Status` message for error reporting purpose.
+        #     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
@@ -3140,6 +3385,12 @@
     "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.
+    },
   }</pre>
 </div>