Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/appengine_v1beta.apps.domainMappings.html b/docs/dyn/appengine_v1beta.apps.domainMappings.html
index c0e9c82..f4b94e5 100644
--- a/docs/dyn/appengine_v1beta.apps.domainMappings.html
+++ b/docs/dyn/appengine_v1beta.apps.domainMappings.html
@@ -72,10 +72,10 @@
 
 </style>
 
-<h1><a href="appengine_v1beta.html">Google App Engine Admin API</a> . <a href="appengine_v1beta.apps.html">apps</a> . <a href="appengine_v1beta.apps.domainMappings.html">domainMappings</a></h1>
+<h1><a href="appengine_v1beta.html">App Engine Admin API</a> . <a href="appengine_v1beta.apps.html">apps</a> . <a href="appengine_v1beta.apps.domainMappings.html">domainMappings</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#create">create(appsId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(appsId, body, overrideStrategy=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(appsId, domainMappingsId, x__xgafv=None)</a></code></p>
@@ -94,7 +94,7 @@
 <p class="firstline">Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="create">create(appsId, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(appsId, body, overrideStrategy=None, x__xgafv=None)</code>
   <pre>Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.
 
 Args:
@@ -104,9 +104,10 @@
 
 { # A domain serving an App Engine application.
     "sslSettings": { # SSL configuration for a DomainMapping resource. # SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.
-      "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. Example: 12345.
+      "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.
+      "pendingManagedCertificateId": "A String", # ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly
+      "sslManagementType": "A String", # SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.
     },
-    "id": "A String", # Relative name of the domain serving the application. Example: example.com.
     "name": "A String", # Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly
     "resourceRecords": [ # The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly
       { # A DNS resource record.
@@ -115,8 +116,10 @@
         "name": "A String", # Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.
       },
     ],
+    "id": "A String", # Relative name of the domain serving the application. Example: example.com.
   }
 
+  overrideStrategy: string, Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -129,17 +132,10 @@
     "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 programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be: # The error result of the operation in case of failure or cancellation.
-        # Simple to use and understand for most users
-        # Flexible enough to meet unexpected needsOverviewThe 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 mappingThe 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 usesThe 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.
+    "error": { # The Status type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
       "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.
+      "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.
         },
@@ -149,7 +145,7 @@
     "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 Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is 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.
+    "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}.
   }</pre>
 </div>
 
@@ -172,17 +168,10 @@
     "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 programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be: # The error result of the operation in case of failure or cancellation.
-        # Simple to use and understand for most users
-        # Flexible enough to meet unexpected needsOverviewThe 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 mappingThe 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 usesThe 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.
+    "error": { # The Status type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
       "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.
+      "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.
         },
@@ -192,7 +181,7 @@
     "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 Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is 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.
+    "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}.
   }</pre>
 </div>
 
@@ -213,9 +202,10 @@
 
     { # A domain serving an App Engine application.
       "sslSettings": { # SSL configuration for a DomainMapping resource. # SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.
-        "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. Example: 12345.
+        "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.
+        "pendingManagedCertificateId": "A String", # ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly
+        "sslManagementType": "A String", # SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.
       },
-      "id": "A String", # Relative name of the domain serving the application. Example: example.com.
       "name": "A String", # Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly
       "resourceRecords": [ # The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly
         { # A DNS resource record.
@@ -224,6 +214,7 @@
           "name": "A String", # Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.
         },
       ],
+      "id": "A String", # Relative name of the domain serving the application. Example: example.com.
     }</pre>
 </div>
 
@@ -248,9 +239,10 @@
     "domainMappings": [ # The domain mappings for the application.
       { # A domain serving an App Engine application.
           "sslSettings": { # SSL configuration for a DomainMapping resource. # SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.
-            "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. Example: 12345.
+            "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.
+            "pendingManagedCertificateId": "A String", # ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly
+            "sslManagementType": "A String", # SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.
           },
-          "id": "A String", # Relative name of the domain serving the application. Example: example.com.
           "name": "A String", # Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly
           "resourceRecords": [ # The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly
             { # A DNS resource record.
@@ -259,6 +251,7 @@
               "name": "A String", # Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.
             },
           ],
+          "id": "A String", # Relative name of the domain serving the application. Example: example.com.
         },
     ],
   }</pre>
@@ -290,9 +283,10 @@
 
 { # A domain serving an App Engine application.
     "sslSettings": { # SSL configuration for a DomainMapping resource. # SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.
-      "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. Example: 12345.
+      "certificateId": "A String", # ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.
+      "pendingManagedCertificateId": "A String", # ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly
+      "sslManagementType": "A String", # SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.
     },
-    "id": "A String", # Relative name of the domain serving the application. Example: example.com.
     "name": "A String", # Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly
     "resourceRecords": [ # The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly
       { # A DNS resource record.
@@ -301,6 +295,7 @@
         "name": "A String", # Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.
       },
     ],
+    "id": "A String", # Relative name of the domain serving the application. Example: example.com.
   }
 
   updateMask: string, Standard field mask for the set of fields to be updated.
@@ -316,17 +311,10 @@
     "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 programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be: # The error result of the operation in case of failure or cancellation.
-        # Simple to use and understand for most users
-        # Flexible enough to meet unexpected needsOverviewThe 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 mappingThe 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 usesThe 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.
+    "error": { # The Status type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
       "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.
+      "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.
         },
@@ -336,7 +324,7 @@
     "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 Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is 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.
+    "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}.
   }</pre>
 </div>