Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/cloudfunctions_v1beta2.projects.locations.functions.html b/docs/dyn/cloudfunctions_v1beta2.projects.locations.functions.html
index cc03879..6ce45b2 100644
--- a/docs/dyn/cloudfunctions_v1beta2.projects.locations.functions.html
+++ b/docs/dyn/cloudfunctions_v1beta2.projects.locations.functions.html
@@ -72,11 +72,11 @@
 
 </style>
 
-<h1><a href="cloudfunctions_v1beta2.html">Google Cloud Functions API</a> . <a href="cloudfunctions_v1beta2.projects.html">projects</a> . <a href="cloudfunctions_v1beta2.projects.locations.html">locations</a> . <a href="cloudfunctions_v1beta2.projects.locations.functions.html">functions</a></h1>
+<h1><a href="cloudfunctions_v1beta2.html">Cloud Functions API</a> . <a href="cloudfunctions_v1beta2.projects.html">projects</a> . <a href="cloudfunctions_v1beta2.projects.locations.html">locations</a> . <a href="cloudfunctions_v1beta2.projects.locations.functions.html">functions</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#call">call(name, body, x__xgafv=None)</a></code></p>
-<p class="firstline">Invokes synchronously deployed function. To be used for testing, very</p>
+<p class="firstline">Synchronously invokes a deployed Cloud Function. To be used for testing</p>
 <p class="toc_element">
   <code><a href="#create">create(location, body, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a new function. If a function with the given name already exists in</p>
@@ -84,6 +84,12 @@
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a function with the given name from the specified project. If the</p>
 <p class="toc_element">
+  <code><a href="#generateDownloadUrl">generateDownloadUrl(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns a signed URL for downloading deployed function source code.</p>
+<p class="toc_element">
+  <code><a href="#generateUploadUrl">generateUploadUrl(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns a signed URL for uploading a function source code.</p>
+<p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns a function with the given name from the requested project.</p>
 <p class="toc_element">
@@ -98,8 +104,10 @@
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="call">call(name, body, x__xgafv=None)</code>
-  <pre>Invokes synchronously deployed function. To be used for testing, very
-limited traffic allowed.
+  <pre>Synchronously invokes a deployed Cloud Function. To be used for testing
+purposes as very limited traffic is allowed. For more information on
+the actual limits refer to [API Calls](
+https://cloud.google.com/functions/quotas#rate_limits).
 
 Args:
   name: string, The name of the function to be called. (required)
@@ -141,28 +149,44 @@
 
 { # Describes a Cloud Function that contains user computation executed in
     # response to an event. It encapsulate function and triggers configurations.
+  "status": "A String", # Output only. Status of the function deployment.
   "eventTrigger": { # Describes EventTrigger, used to request events be sent from another # A source that fires events in response to a condition in another service.
       # service.
     "eventType": "A String", # `event_type` names contain the service that is sending an event and the
         # kind of event that was fired. Must be of the form
         # `providers/*/eventTypes/*` e.g. Directly handle a Message published to
-        # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`
+        # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`.
         #
-        #      Handle an object changing in Google Cloud Storage
-        #      `providers/cloud.storage/eventTypes/object.change`
+        # Handle an object changing in Google Cloud Storage:
+        # `providers/cloud.storage/eventTypes/object.change`
         #
-        #      Handle a write to the Firebase Realtime Database
-        #      `providers/firebase.database/eventTypes/data.write`
+        # Handle a write to the Firebase Realtime Database:
+        # `providers/google.firebase.database/eventTypes/ref.write`
     "resource": "A String", # Which instance of the source's service should send events. E.g. for Pub/Sub
         # this would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud
         # Storage this would be a bucket at `projects/*/buckets/*`. For any source
         # that only supports one instance per-project, this should be the name of the
         # project (`projects/*`)
+    "service": "A String", # The hostname of the service that should be observed.
+        #
+        # If no string is provided, the default service implementing the API will
+        # be used. For example, `storage.googleapis.com` is the default for all
+        # event types in the `google.storage` namespace.
+    "failurePolicy": { # Describes the policy in case of function's execution failure. # Specifies policy for failed executions.
+        # If empty, then defaults to ignoring failures (i.e. not retrying them).
+      "retry": { # Describes the retry policy in case of function's execution failure. # If specified, then the function will be retried in case of a failure.
+          # A function execution will be retried on any failure.
+          # A failed execution will be retried up to 7 days with an exponential backoff
+          # (capped at 10 seconds).
+          # Retried execution is charged as any other execution.
+      },
+    },
   },
-  "status": "A String", # Output only. Status of the function deployment.
   "updateTime": "A String", # Output only. The last update timestamp of a Cloud Function.
   "name": "A String", # A user-defined name of the function. Function names must be unique
       # globally and match pattern `projects/*/locations/*/functions/*`
+  "maxInstances": 42, # The limit on the maximum number of function instances that may coexist at a
+      # given time.
   "sourceRepository": { # Describes the location of the function source in a remote repository. # The hosted repository where the function is defined.
     "repositoryUrl": "A String", # URL to the hosted repository where the function is defined. Only paths in
         # https://source.developers.google.com domain are supported. The path should
@@ -182,14 +206,26 @@
     "revision": "A String", # The id of the revision that captures the state of the repository from
         # which the function should be fetched.
   },
-  "availableMemoryMb": 42, # The amount of memory in MB available for a function.
-      # Defaults to 256MB.
+  "sourceUploadUrl": "A String", # The Google Cloud Storage signed URL used for source uploading, generated
+      # by google.cloud.functions.v1beta2.GenerateUploadUrl
   "httpsTrigger": { # Describes HTTPSTrigger, could be used to connect web hooks to function. # An HTTPS endpoint type of source that can be triggered via URL.
     "url": "A String", # Output only. The deployed url for the function.
   },
   "sourceArchiveUrl": "A String", # The Google Cloud Storage URL, starting with gs://, pointing to the zip
       # archive which contains the function.
-  "serviceAccount": "A String", # Output only. The service account of the function.
+  "labels": { # Labels associated with this Cloud Function.
+    "a_key": "A String",
+  },
+  "serviceAccount": "A String", # The email of the function's service account. If empty, defaults to
+      # {project_id}@appspot.gserviceaccount.com.
+  "environmentVariables": { # Environment variables that shall be available during function execution.
+    "a_key": "A String",
+  },
+  "availableMemoryMb": 42, # The amount of memory in MB available for a function.
+      # Defaults to 256MB.
+  "versionId": "A String", # Output only.
+      # The version identifier of the Cloud Function. Each deployment attempt
+      # results in a new version of a function being created.
   "entryPoint": "A String", # The name of the function (as defined in source code) that will be
       # executed. Defaults to the resource name suffix, if not specified. For
       # backward compatibility, if function with given name is not found, then the
@@ -202,6 +238,54 @@
   "latestOperation": "A String", # Output only. Name of the most recent operation modifying the function. If
       # the function status is `DEPLOYING` or `DELETING`, then it points to the
       # active operation.
+  "sourceRepositoryUrl": "A String", # The URL pointing to the hosted repository where the function is defined.
+      # There are supported Cloud Source Repository URLs in the following
+      # formats:
+      # 
+      # To refer to a specific commit:
+      # `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`
+      # To refer to a moveable alias (branch):
+      # `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`
+      # In particular, to refer to HEAD use `master` moveable alias.
+      # To refer to a specific fixed alias (tag):
+      # `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`
+      # 
+      # You may omit `paths/*` if you want to use the main directory.
+  "runtime": "A String", # Required. The runtime in which the function is going to run. Choices:
+      # 
+      # * `nodejs6`: Node.js 6
+      # * `nodejs8`: Node.js 8
+      # * `nodejs10`: Node.js 10
+      # * `python37`: Python 3.7
+      # * `go111`: Go 1.11
+  "vpcConnector": "A String", # The VPC Network Connector that this cloud function can connect to. It can
+      # be either the fully-qualified URI, or the short name of the network
+      # connector resource. The format of this field is
+      # `projects/*/locations/*/connectors/*`
+      # 
+      # This field is mutually exclusive with `network` field and will eventually
+      # replace it.
+      # 
+      # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+      # more information on connecting Cloud projects.
+      # 
+      # This feature is currently in alpha, available only for whitelisted users.
+  "network": "A String", # The VPC Network that this cloud function can connect to. It can be
+      # either the fully-qualified URI, or the short name of the network resource.
+      # If the short network name is used, the network must belong to the same
+      # project. Otherwise, it must belong to a project within the same
+      # organization. The format of this field is either
+      # `projects/{project}/global/networks/{network}` or `{network}`, where
+      # {project} is a project id where the network is defined, and {network} is
+      # the short name of the network.
+      # 
+      # This field is mutually exclusive with `vpc_connector` and will be replaced
+      # by it.
+      # 
+      # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+      # more information on connecting Cloud projects.
+      # 
+      # This feature is currently in alpha, available only for whitelisted users.
 }
 
   x__xgafv: string, V1 error format.
@@ -220,17 +304,17 @@
         # 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:
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
         #
         # - Simple to use and understand for most users
         # - Flexible enough to meet unexpected needs
         #
         # # Overview
         #
-        # The `Status` message contains three pieces of data: error code, error message,
-        # and error details. The error code should be an enum value of
+        # The `Status` message contains three pieces of data: error code, error
+        # message, and error details. The error code should be an enum value of
         # google.rpc.Code, but it may accept additional error codes if needed.  The
         # error message should be a developer-facing English message that helps
         # developers *understand* and *resolve* the error. If a localized user-facing
@@ -276,15 +360,15 @@
           # 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.
         },
       ],
     },
     "done": True or False, # If the value is `false`, it means the operation is still in progress.
-        # If true, the operation is completed, and either `error` or `response` is
+        # If `true`, the operation is completed, and either `error` or `response` is
         # available.
     "response": { # The normal response of the operation in case of success.  If the original
         # method returns no data on success, such as `Delete`, the response is
@@ -298,7 +382,7 @@
     },
     "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` should be a resource name ending with `operations/{unique_id}`.
   }</pre>
 </div>
 
@@ -326,17 +410,17 @@
         # 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:
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
         #
         # - Simple to use and understand for most users
         # - Flexible enough to meet unexpected needs
         #
         # # Overview
         #
-        # The `Status` message contains three pieces of data: error code, error message,
-        # and error details. The error code should be an enum value of
+        # The `Status` message contains three pieces of data: error code, error
+        # message, and error details. The error code should be an enum value of
         # google.rpc.Code, but it may accept additional error codes if needed.  The
         # error message should be a developer-facing English message that helps
         # developers *understand* and *resolve* the error. If a localized user-facing
@@ -382,15 +466,15 @@
           # 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.
         },
       ],
     },
     "done": True or False, # If the value is `false`, it means the operation is still in progress.
-        # If true, the operation is completed, and either `error` or `response` is
+        # If `true`, the operation is completed, and either `error` or `response` is
         # available.
     "response": { # The normal response of the operation in case of success.  If the original
         # method returns no data on success, such as `Delete`, the response is
@@ -404,7 +488,91 @@
     },
     "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` should be a resource name ending with `operations/{unique_id}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="generateDownloadUrl">generateDownloadUrl(name, body, x__xgafv=None)</code>
+  <pre>Returns a signed URL for downloading deployed function source code.
+The URL is only valid for a limited period and should be used within
+minutes after generation.
+For more information about the signed URL usage see:
+https://cloud.google.com/storage/docs/access-control/signed-urls
+
+Args:
+  name: string, The name of function for which source code Google Cloud Storage signed
+URL should be generated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request of `GenerateDownloadUrl` method.
+    "versionId": "A String", # The optional version of function.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response of `GenerateDownloadUrl` method.
+    "downloadUrl": "A String", # The generated Google Cloud Storage signed URL that should be used for
+        # function source code download.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="generateUploadUrl">generateUploadUrl(parent, body=None, x__xgafv=None)</code>
+  <pre>Returns a signed URL for uploading a function source code.
+For more information about the signed URL usage see:
+https://cloud.google.com/storage/docs/access-control/signed-urls
+Once the function source code upload is complete, the used signed
+URL should be provided in CreateFunction or UpdateFunction request
+as a reference to the function source code.
+
+When uploading source code to the generated signed URL, please follow
+these restrictions:
+
+* Source file type should be a zip file.
+* Source file size should not exceed 100MB limit.
+* No credentials should be attached - the signed URLs provide access to the
+  target bucket using internal service identity; if credentials were
+  attached, the identity from the credentials would be used, but that
+  identity does not have permissions to upload files to the URL.
+
+When making a HTTP PUT request, these two headers need to be specified:
+
+* `content-type: application/zip`
+* `x-goog-content-length-range: 0,104857600`
+
+And this header SHOULD NOT be specified:
+
+* `Authorization: Bearer YOUR_TOKEN`
+
+Args:
+  parent: string, The project and location in which the Google Cloud Storage signed URL
+should be generated, specified in the format `projects/*/locations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request of `GenerateUploadUrl` method.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response of `GenerateUploadUrl` method.
+    "uploadUrl": "A String", # The generated Google Cloud Storage signed URL that should be used for a
+        # function source code upload. The uploaded file should be a zip archive
+        # which contains a function.
   }</pre>
 </div>
 
@@ -424,28 +592,44 @@
 
     { # Describes a Cloud Function that contains user computation executed in
       # response to an event. It encapsulate function and triggers configurations.
+    "status": "A String", # Output only. Status of the function deployment.
     "eventTrigger": { # Describes EventTrigger, used to request events be sent from another # A source that fires events in response to a condition in another service.
         # service.
       "eventType": "A String", # `event_type` names contain the service that is sending an event and the
           # kind of event that was fired. Must be of the form
           # `providers/*/eventTypes/*` e.g. Directly handle a Message published to
-          # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`
+          # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`.
           #
-          #      Handle an object changing in Google Cloud Storage
-          #      `providers/cloud.storage/eventTypes/object.change`
+          # Handle an object changing in Google Cloud Storage:
+          # `providers/cloud.storage/eventTypes/object.change`
           #
-          #      Handle a write to the Firebase Realtime Database
-          #      `providers/firebase.database/eventTypes/data.write`
+          # Handle a write to the Firebase Realtime Database:
+          # `providers/google.firebase.database/eventTypes/ref.write`
       "resource": "A String", # Which instance of the source's service should send events. E.g. for Pub/Sub
           # this would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud
           # Storage this would be a bucket at `projects/*/buckets/*`. For any source
           # that only supports one instance per-project, this should be the name of the
           # project (`projects/*`)
+      "service": "A String", # The hostname of the service that should be observed.
+          #
+          # If no string is provided, the default service implementing the API will
+          # be used. For example, `storage.googleapis.com` is the default for all
+          # event types in the `google.storage` namespace.
+      "failurePolicy": { # Describes the policy in case of function's execution failure. # Specifies policy for failed executions.
+          # If empty, then defaults to ignoring failures (i.e. not retrying them).
+        "retry": { # Describes the retry policy in case of function's execution failure. # If specified, then the function will be retried in case of a failure.
+            # A function execution will be retried on any failure.
+            # A failed execution will be retried up to 7 days with an exponential backoff
+            # (capped at 10 seconds).
+            # Retried execution is charged as any other execution.
+        },
+      },
     },
-    "status": "A String", # Output only. Status of the function deployment.
     "updateTime": "A String", # Output only. The last update timestamp of a Cloud Function.
     "name": "A String", # A user-defined name of the function. Function names must be unique
         # globally and match pattern `projects/*/locations/*/functions/*`
+    "maxInstances": 42, # The limit on the maximum number of function instances that may coexist at a
+        # given time.
     "sourceRepository": { # Describes the location of the function source in a remote repository. # The hosted repository where the function is defined.
       "repositoryUrl": "A String", # URL to the hosted repository where the function is defined. Only paths in
           # https://source.developers.google.com domain are supported. The path should
@@ -465,14 +649,26 @@
       "revision": "A String", # The id of the revision that captures the state of the repository from
           # which the function should be fetched.
     },
-    "availableMemoryMb": 42, # The amount of memory in MB available for a function.
-        # Defaults to 256MB.
+    "sourceUploadUrl": "A String", # The Google Cloud Storage signed URL used for source uploading, generated
+        # by google.cloud.functions.v1beta2.GenerateUploadUrl
     "httpsTrigger": { # Describes HTTPSTrigger, could be used to connect web hooks to function. # An HTTPS endpoint type of source that can be triggered via URL.
       "url": "A String", # Output only. The deployed url for the function.
     },
     "sourceArchiveUrl": "A String", # The Google Cloud Storage URL, starting with gs://, pointing to the zip
         # archive which contains the function.
-    "serviceAccount": "A String", # Output only. The service account of the function.
+    "labels": { # Labels associated with this Cloud Function.
+      "a_key": "A String",
+    },
+    "serviceAccount": "A String", # The email of the function's service account. If empty, defaults to
+        # {project_id}@appspot.gserviceaccount.com.
+    "environmentVariables": { # Environment variables that shall be available during function execution.
+      "a_key": "A String",
+    },
+    "availableMemoryMb": 42, # The amount of memory in MB available for a function.
+        # Defaults to 256MB.
+    "versionId": "A String", # Output only.
+        # The version identifier of the Cloud Function. Each deployment attempt
+        # results in a new version of a function being created.
     "entryPoint": "A String", # The name of the function (as defined in source code) that will be
         # executed. Defaults to the resource name suffix, if not specified. For
         # backward compatibility, if function with given name is not found, then the
@@ -485,6 +681,54 @@
     "latestOperation": "A String", # Output only. Name of the most recent operation modifying the function. If
         # the function status is `DEPLOYING` or `DELETING`, then it points to the
         # active operation.
+    "sourceRepositoryUrl": "A String", # The URL pointing to the hosted repository where the function is defined.
+        # There are supported Cloud Source Repository URLs in the following
+        # formats:
+        #
+        # To refer to a specific commit:
+        # `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`
+        # To refer to a moveable alias (branch):
+        # `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`
+        # In particular, to refer to HEAD use `master` moveable alias.
+        # To refer to a specific fixed alias (tag):
+        # `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`
+        #
+        # You may omit `paths/*` if you want to use the main directory.
+    "runtime": "A String", # Required. The runtime in which the function is going to run. Choices:
+        #
+        # * `nodejs6`: Node.js 6
+        # * `nodejs8`: Node.js 8
+        # * `nodejs10`: Node.js 10
+        # * `python37`: Python 3.7
+        # * `go111`: Go 1.11
+    "vpcConnector": "A String", # The VPC Network Connector that this cloud function can connect to. It can
+        # be either the fully-qualified URI, or the short name of the network
+        # connector resource. The format of this field is
+        # `projects/*/locations/*/connectors/*`
+        #
+        # This field is mutually exclusive with `network` field and will eventually
+        # replace it.
+        #
+        # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+        # more information on connecting Cloud projects.
+        #
+        # This feature is currently in alpha, available only for whitelisted users.
+    "network": "A String", # The VPC Network that this cloud function can connect to. It can be
+        # either the fully-qualified URI, or the short name of the network resource.
+        # If the short network name is used, the network must belong to the same
+        # project. Otherwise, it must belong to a project within the same
+        # organization. The format of this field is either
+        # `projects/{project}/global/networks/{network}` or `{network}`, where
+        # {project} is a project id where the network is defined, and {network} is
+        # the short name of the network.
+        #
+        # This field is mutually exclusive with `vpc_connector` and will be replaced
+        # by it.
+        #
+        # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+        # more information on connecting Cloud projects.
+        #
+        # This feature is currently in alpha, available only for whitelisted users.
   }</pre>
 </div>
 
@@ -518,28 +762,44 @@
     "functions": [ # The functions that match the request.
       { # Describes a Cloud Function that contains user computation executed in
           # response to an event. It encapsulate function and triggers configurations.
+        "status": "A String", # Output only. Status of the function deployment.
         "eventTrigger": { # Describes EventTrigger, used to request events be sent from another # A source that fires events in response to a condition in another service.
             # service.
           "eventType": "A String", # `event_type` names contain the service that is sending an event and the
               # kind of event that was fired. Must be of the form
               # `providers/*/eventTypes/*` e.g. Directly handle a Message published to
-              # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`
+              # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`.
               #
-              #      Handle an object changing in Google Cloud Storage
-              #      `providers/cloud.storage/eventTypes/object.change`
+              # Handle an object changing in Google Cloud Storage:
+              # `providers/cloud.storage/eventTypes/object.change`
               #
-              #      Handle a write to the Firebase Realtime Database
-              #      `providers/firebase.database/eventTypes/data.write`
+              # Handle a write to the Firebase Realtime Database:
+              # `providers/google.firebase.database/eventTypes/ref.write`
           "resource": "A String", # Which instance of the source's service should send events. E.g. for Pub/Sub
               # this would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud
               # Storage this would be a bucket at `projects/*/buckets/*`. For any source
               # that only supports one instance per-project, this should be the name of the
               # project (`projects/*`)
+          "service": "A String", # The hostname of the service that should be observed.
+              #
+              # If no string is provided, the default service implementing the API will
+              # be used. For example, `storage.googleapis.com` is the default for all
+              # event types in the `google.storage` namespace.
+          "failurePolicy": { # Describes the policy in case of function's execution failure. # Specifies policy for failed executions.
+              # If empty, then defaults to ignoring failures (i.e. not retrying them).
+            "retry": { # Describes the retry policy in case of function's execution failure. # If specified, then the function will be retried in case of a failure.
+                # A function execution will be retried on any failure.
+                # A failed execution will be retried up to 7 days with an exponential backoff
+                # (capped at 10 seconds).
+                # Retried execution is charged as any other execution.
+            },
+          },
         },
-        "status": "A String", # Output only. Status of the function deployment.
         "updateTime": "A String", # Output only. The last update timestamp of a Cloud Function.
         "name": "A String", # A user-defined name of the function. Function names must be unique
             # globally and match pattern `projects/*/locations/*/functions/*`
+        "maxInstances": 42, # The limit on the maximum number of function instances that may coexist at a
+            # given time.
         "sourceRepository": { # Describes the location of the function source in a remote repository. # The hosted repository where the function is defined.
           "repositoryUrl": "A String", # URL to the hosted repository where the function is defined. Only paths in
               # https://source.developers.google.com domain are supported. The path should
@@ -559,14 +819,26 @@
           "revision": "A String", # The id of the revision that captures the state of the repository from
               # which the function should be fetched.
         },
-        "availableMemoryMb": 42, # The amount of memory in MB available for a function.
-            # Defaults to 256MB.
+        "sourceUploadUrl": "A String", # The Google Cloud Storage signed URL used for source uploading, generated
+            # by google.cloud.functions.v1beta2.GenerateUploadUrl
         "httpsTrigger": { # Describes HTTPSTrigger, could be used to connect web hooks to function. # An HTTPS endpoint type of source that can be triggered via URL.
           "url": "A String", # Output only. The deployed url for the function.
         },
         "sourceArchiveUrl": "A String", # The Google Cloud Storage URL, starting with gs://, pointing to the zip
             # archive which contains the function.
-        "serviceAccount": "A String", # Output only. The service account of the function.
+        "labels": { # Labels associated with this Cloud Function.
+          "a_key": "A String",
+        },
+        "serviceAccount": "A String", # The email of the function's service account. If empty, defaults to
+            # {project_id}@appspot.gserviceaccount.com.
+        "environmentVariables": { # Environment variables that shall be available during function execution.
+          "a_key": "A String",
+        },
+        "availableMemoryMb": 42, # The amount of memory in MB available for a function.
+            # Defaults to 256MB.
+        "versionId": "A String", # Output only.
+            # The version identifier of the Cloud Function. Each deployment attempt
+            # results in a new version of a function being created.
         "entryPoint": "A String", # The name of the function (as defined in source code) that will be
             # executed. Defaults to the resource name suffix, if not specified. For
             # backward compatibility, if function with given name is not found, then the
@@ -579,6 +851,54 @@
         "latestOperation": "A String", # Output only. Name of the most recent operation modifying the function. If
             # the function status is `DEPLOYING` or `DELETING`, then it points to the
             # active operation.
+        "sourceRepositoryUrl": "A String", # The URL pointing to the hosted repository where the function is defined.
+            # There are supported Cloud Source Repository URLs in the following
+            # formats:
+            #
+            # To refer to a specific commit:
+            # `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`
+            # To refer to a moveable alias (branch):
+            # `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`
+            # In particular, to refer to HEAD use `master` moveable alias.
+            # To refer to a specific fixed alias (tag):
+            # `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`
+            #
+            # You may omit `paths/*` if you want to use the main directory.
+        "runtime": "A String", # Required. The runtime in which the function is going to run. Choices:
+            #
+            # * `nodejs6`: Node.js 6
+            # * `nodejs8`: Node.js 8
+            # * `nodejs10`: Node.js 10
+            # * `python37`: Python 3.7
+            # * `go111`: Go 1.11
+        "vpcConnector": "A String", # The VPC Network Connector that this cloud function can connect to. It can
+            # be either the fully-qualified URI, or the short name of the network
+            # connector resource. The format of this field is
+            # `projects/*/locations/*/connectors/*`
+            #
+            # This field is mutually exclusive with `network` field and will eventually
+            # replace it.
+            #
+            # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+            # more information on connecting Cloud projects.
+            #
+            # This feature is currently in alpha, available only for whitelisted users.
+        "network": "A String", # The VPC Network that this cloud function can connect to. It can be
+            # either the fully-qualified URI, or the short name of the network resource.
+            # If the short network name is used, the network must belong to the same
+            # project. Otherwise, it must belong to a project within the same
+            # organization. The format of this field is either
+            # `projects/{project}/global/networks/{network}` or `{network}`, where
+            # {project} is a project id where the network is defined, and {network} is
+            # the short name of the network.
+            #
+            # This field is mutually exclusive with `vpc_connector` and will be replaced
+            # by it.
+            #
+            # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+            # more information on connecting Cloud projects.
+            #
+            # This feature is currently in alpha, available only for whitelisted users.
       },
     ],
   }</pre>
@@ -609,28 +929,44 @@
 
 { # Describes a Cloud Function that contains user computation executed in
     # response to an event. It encapsulate function and triggers configurations.
+  "status": "A String", # Output only. Status of the function deployment.
   "eventTrigger": { # Describes EventTrigger, used to request events be sent from another # A source that fires events in response to a condition in another service.
       # service.
     "eventType": "A String", # `event_type` names contain the service that is sending an event and the
         # kind of event that was fired. Must be of the form
         # `providers/*/eventTypes/*` e.g. Directly handle a Message published to
-        # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`
+        # Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`.
         #
-        #      Handle an object changing in Google Cloud Storage
-        #      `providers/cloud.storage/eventTypes/object.change`
+        # Handle an object changing in Google Cloud Storage:
+        # `providers/cloud.storage/eventTypes/object.change`
         #
-        #      Handle a write to the Firebase Realtime Database
-        #      `providers/firebase.database/eventTypes/data.write`
+        # Handle a write to the Firebase Realtime Database:
+        # `providers/google.firebase.database/eventTypes/ref.write`
     "resource": "A String", # Which instance of the source's service should send events. E.g. for Pub/Sub
         # this would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud
         # Storage this would be a bucket at `projects/*/buckets/*`. For any source
         # that only supports one instance per-project, this should be the name of the
         # project (`projects/*`)
+    "service": "A String", # The hostname of the service that should be observed.
+        #
+        # If no string is provided, the default service implementing the API will
+        # be used. For example, `storage.googleapis.com` is the default for all
+        # event types in the `google.storage` namespace.
+    "failurePolicy": { # Describes the policy in case of function's execution failure. # Specifies policy for failed executions.
+        # If empty, then defaults to ignoring failures (i.e. not retrying them).
+      "retry": { # Describes the retry policy in case of function's execution failure. # If specified, then the function will be retried in case of a failure.
+          # A function execution will be retried on any failure.
+          # A failed execution will be retried up to 7 days with an exponential backoff
+          # (capped at 10 seconds).
+          # Retried execution is charged as any other execution.
+      },
+    },
   },
-  "status": "A String", # Output only. Status of the function deployment.
   "updateTime": "A String", # Output only. The last update timestamp of a Cloud Function.
   "name": "A String", # A user-defined name of the function. Function names must be unique
       # globally and match pattern `projects/*/locations/*/functions/*`
+  "maxInstances": 42, # The limit on the maximum number of function instances that may coexist at a
+      # given time.
   "sourceRepository": { # Describes the location of the function source in a remote repository. # The hosted repository where the function is defined.
     "repositoryUrl": "A String", # URL to the hosted repository where the function is defined. Only paths in
         # https://source.developers.google.com domain are supported. The path should
@@ -650,14 +986,26 @@
     "revision": "A String", # The id of the revision that captures the state of the repository from
         # which the function should be fetched.
   },
-  "availableMemoryMb": 42, # The amount of memory in MB available for a function.
-      # Defaults to 256MB.
+  "sourceUploadUrl": "A String", # The Google Cloud Storage signed URL used for source uploading, generated
+      # by google.cloud.functions.v1beta2.GenerateUploadUrl
   "httpsTrigger": { # Describes HTTPSTrigger, could be used to connect web hooks to function. # An HTTPS endpoint type of source that can be triggered via URL.
     "url": "A String", # Output only. The deployed url for the function.
   },
   "sourceArchiveUrl": "A String", # The Google Cloud Storage URL, starting with gs://, pointing to the zip
       # archive which contains the function.
-  "serviceAccount": "A String", # Output only. The service account of the function.
+  "labels": { # Labels associated with this Cloud Function.
+    "a_key": "A String",
+  },
+  "serviceAccount": "A String", # The email of the function's service account. If empty, defaults to
+      # {project_id}@appspot.gserviceaccount.com.
+  "environmentVariables": { # Environment variables that shall be available during function execution.
+    "a_key": "A String",
+  },
+  "availableMemoryMb": 42, # The amount of memory in MB available for a function.
+      # Defaults to 256MB.
+  "versionId": "A String", # Output only.
+      # The version identifier of the Cloud Function. Each deployment attempt
+      # results in a new version of a function being created.
   "entryPoint": "A String", # The name of the function (as defined in source code) that will be
       # executed. Defaults to the resource name suffix, if not specified. For
       # backward compatibility, if function with given name is not found, then the
@@ -670,6 +1018,54 @@
   "latestOperation": "A String", # Output only. Name of the most recent operation modifying the function. If
       # the function status is `DEPLOYING` or `DELETING`, then it points to the
       # active operation.
+  "sourceRepositoryUrl": "A String", # The URL pointing to the hosted repository where the function is defined.
+      # There are supported Cloud Source Repository URLs in the following
+      # formats:
+      # 
+      # To refer to a specific commit:
+      # `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`
+      # To refer to a moveable alias (branch):
+      # `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`
+      # In particular, to refer to HEAD use `master` moveable alias.
+      # To refer to a specific fixed alias (tag):
+      # `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`
+      # 
+      # You may omit `paths/*` if you want to use the main directory.
+  "runtime": "A String", # Required. The runtime in which the function is going to run. Choices:
+      # 
+      # * `nodejs6`: Node.js 6
+      # * `nodejs8`: Node.js 8
+      # * `nodejs10`: Node.js 10
+      # * `python37`: Python 3.7
+      # * `go111`: Go 1.11
+  "vpcConnector": "A String", # The VPC Network Connector that this cloud function can connect to. It can
+      # be either the fully-qualified URI, or the short name of the network
+      # connector resource. The format of this field is
+      # `projects/*/locations/*/connectors/*`
+      # 
+      # This field is mutually exclusive with `network` field and will eventually
+      # replace it.
+      # 
+      # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+      # more information on connecting Cloud projects.
+      # 
+      # This feature is currently in alpha, available only for whitelisted users.
+  "network": "A String", # The VPC Network that this cloud function can connect to. It can be
+      # either the fully-qualified URI, or the short name of the network resource.
+      # If the short network name is used, the network must belong to the same
+      # project. Otherwise, it must belong to a project within the same
+      # organization. The format of this field is either
+      # `projects/{project}/global/networks/{network}` or `{network}`, where
+      # {project} is a project id where the network is defined, and {network} is
+      # the short name of the network.
+      # 
+      # This field is mutually exclusive with `vpc_connector` and will be replaced
+      # by it.
+      # 
+      # See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
+      # more information on connecting Cloud projects.
+      # 
+      # This feature is currently in alpha, available only for whitelisted users.
 }
 
   x__xgafv: string, V1 error format.
@@ -688,17 +1084,17 @@
         # 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:
+    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+        # different programming environments, including REST APIs and RPC APIs. It is
+        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
         #
         # - Simple to use and understand for most users
         # - Flexible enough to meet unexpected needs
         #
         # # Overview
         #
-        # The `Status` message contains three pieces of data: error code, error message,
-        # and error details. The error code should be an enum value of
+        # The `Status` message contains three pieces of data: error code, error
+        # message, and error details. The error code should be an enum value of
         # google.rpc.Code, but it may accept additional error codes if needed.  The
         # error message should be a developer-facing English message that helps
         # developers *understand* and *resolve* the error. If a localized user-facing
@@ -744,15 +1140,15 @@
           # 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.
         },
       ],
     },
     "done": True or False, # If the value is `false`, it means the operation is still in progress.
-        # If true, the operation is completed, and either `error` or `response` is
+        # If `true`, the operation is completed, and either `error` or `response` is
         # available.
     "response": { # The normal response of the operation in case of success.  If the original
         # method returns no data on success, such as `Delete`, the response is
@@ -766,7 +1162,7 @@
     },
     "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` should be a resource name ending with `operations/{unique_id}`.
   }</pre>
 </div>