chore: regens API reference docs (#889)

diff --git a/docs/dyn/dataflow_v1b3.projects.templates.html b/docs/dyn/dataflow_v1b3.projects.templates.html
index a08f01e..b26398f 100644
--- a/docs/dyn/dataflow_v1b3.projects.templates.html
+++ b/docs/dyn/dataflow_v1b3.projects.templates.html
@@ -75,26 +75,31 @@
 <h1><a href="dataflow_v1b3.html">Dataflow API</a> . <a href="dataflow_v1b3.projects.html">projects</a> . <a href="dataflow_v1b3.projects.templates.html">templates</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#create">create(projectId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(projectId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a Cloud Dataflow job from a template.</p>
 <p class="toc_element">
   <code><a href="#get">get(projectId, gcsPath=None, location=None, x__xgafv=None, view=None)</a></code></p>
 <p class="firstline">Get the template associated with a template.</p>
 <p class="toc_element">
-  <code><a href="#launch">launch(projectId, body, dynamicTemplate_gcsPath=None, x__xgafv=None, dynamicTemplate_stagingLocation=None, location=None, gcsPath=None, validateOnly=None)</a></code></p>
+  <code><a href="#launch">launch(projectId, body=None, dynamicTemplate_gcsPath=None, x__xgafv=None, dynamicTemplate_stagingLocation=None, location=None, gcsPath=None, validateOnly=None)</a></code></p>
 <p class="firstline">Launch a template.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="create">create(projectId, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(projectId, body=None, x__xgafv=None)</code>
   <pre>Creates a Cloud Dataflow job from a template.
 
 Args:
   projectId: string, Required. The ID of the Cloud Platform project that the job belongs to. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # A request to create a Cloud Dataflow job from a template.
     "environment": { # The environment values to set at runtime. # The runtime environment for the job.
+      "workerRegion": "A String", # The Compute Engine region
+          # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+          # which worker processing should occur, e.g. "us-west1". Mutually exclusive
+          # with worker_zone. If neither worker_region nor worker_zone is specified,
+          # default to the control plane's region.
       "machineType": "A String", # The machine type to use for the job. Defaults to the value from the
           # template if not specified.
       "network": "A String", # Network to which VMs will be assigned.  If empty or unspecified,
@@ -102,25 +107,36 @@
       "zone": "A String", # The Compute Engine [availability
           # zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones)
           # for launching worker instances to run your pipeline.
+          # In the future, worker_zone will take precedence.
       "additionalUserLabels": { # Additional user labels to be specified for the job.
           # Keys and values should follow the restrictions specified in the [labeling
           # restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)
           # page.
         "a_key": "A String",
       },
+      "numWorkers": 42, # The initial number of Google Compute Engine instnaces for the job.
       "additionalExperiments": [ # Additional experiment flags for the job.
         "A String",
       ],
+      "ipConfiguration": "A String", # Configuration for VM IPs.
       "bypassTempDirValidation": True or False, # Whether to bypass the safety checks for the job's temporary directory.
           # Use with caution.
       "tempLocation": "A String", # The Cloud Storage path to use for temporary files.
           # Must be a valid Cloud Storage URL, beginning with `gs://`.
       "serviceAccountEmail": "A String", # The email address of the service account to run the job as.
-      "numWorkers": 42, # The initial number of Google Compute Engine instnaces for the job.
+      "kmsKeyName": "A String", # Optional. Name for the Cloud KMS key for the job.
+          # Key format is:
+          # projects/&lt;project&gt;/locations/&lt;location&gt;/keyRings/&lt;keyring&gt;/cryptoKeys/&lt;key&gt;
       "maxWorkers": 42, # The maximum number of Google Compute Engine instances to be made
           # available to your pipeline during execution, from 1 to 1000.
       "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired.  Expected to be of
           # the form "regions/REGION/subnetworks/SUBNETWORK".
+      "workerZone": "A String", # The Compute Engine zone
+          # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+          # which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
+          # with worker_region. If neither worker_region nor worker_zone is specified,
+          # a zone in the control plane's region is chosen based on available capacity.
+          # If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.
     },
     "gcsPath": "A String", # Required. A Cloud Storage path to the template from which to
         # create the job.
@@ -150,7 +166,7 @@
         #
         # * Keys must conform to regexp:  \p{Ll}\p{Lo}{0,62}
         # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
-        # * Both keys and values are additionally constrained to be <= 128 bytes in
+        # * Both keys and values are additionally constrained to be &lt;= 128 bytes in
         # size.
       "a_key": "A String",
     },
@@ -197,9 +213,9 @@
       "bigqueryDetails": [ # Identification of a BigQuery source used in the Dataflow job.
         { # Metadata for a BigQuery connector used by the job.
           "projectId": "A String", # Project accessed in the connection.
-          "dataset": "A String", # Dataset accessed in the connection.
-          "table": "A String", # Table accessed in the connection.
           "query": "A String", # Query used to access data in the connection.
+          "table": "A String", # Table accessed in the connection.
+          "dataset": "A String", # Dataset accessed in the connection.
         },
       ],
     },
@@ -218,13 +234,16 @@
           ],
           "displayData": [ # Transform-specific display data.
             { # Data provided with a pipeline or transform to provide descriptive info.
+              "key": "A String", # The key identifying the display data.
+                  # This is intended to be used as a label for the display data
+                  # when viewed in a dax monitoring system.
               "shortStrValue": "A String", # A possible additional shorter value to display.
                   # For example a java_class_name_value of com.mypackage.MyDoFn
                   # will be stored with MyDoFn as the short_str_value and
                   # com.mypackage.MyDoFn as the java_class_name value.
                   # short_str_value can be displayed and java_class_name_value
                   # will be displayed as a tooltip.
-              "durationValue": "A String", # Contains value if the data is of duration type.
+              "timestampValue": "A String", # Contains value if the data is of timestamp type.
               "url": "A String", # An optional full URL.
               "floatValue": 3.14, # Contains value if the data is of float type.
               "namespace": "A String", # The namespace for the key. This is usually a class name or programming
@@ -235,11 +254,8 @@
               "label": "A String", # An optional label to display in a dax UI for the element.
               "boolValue": True or False, # Contains value if the data is of a boolean type.
               "strValue": "A String", # Contains value if the data is of string type.
-              "key": "A String", # The key identifying the display data.
-                  # This is intended to be used as a label for the display data
-                  # when viewed in a dax monitoring system.
+              "durationValue": "A String", # Contains value if the data is of duration type.
               "int64Value": "A String", # Contains value if the data is of int64 type.
-              "timestampValue": "A String", # Contains value if the data is of timestamp type.
             },
           ],
           "outputCollectionName": [ # User  names for all collection outputs to this transform.
@@ -294,13 +310,16 @@
       ],
       "displayData": [ # Pipeline level display data.
         { # Data provided with a pipeline or transform to provide descriptive info.
+          "key": "A String", # The key identifying the display data.
+              # This is intended to be used as a label for the display data
+              # when viewed in a dax monitoring system.
           "shortStrValue": "A String", # A possible additional shorter value to display.
               # For example a java_class_name_value of com.mypackage.MyDoFn
               # will be stored with MyDoFn as the short_str_value and
               # com.mypackage.MyDoFn as the java_class_name value.
               # short_str_value can be displayed and java_class_name_value
               # will be displayed as a tooltip.
-          "durationValue": "A String", # Contains value if the data is of duration type.
+          "timestampValue": "A String", # Contains value if the data is of timestamp type.
           "url": "A String", # An optional full URL.
           "floatValue": 3.14, # Contains value if the data is of float type.
           "namespace": "A String", # The namespace for the key. This is usually a class name or programming
@@ -311,11 +330,8 @@
           "label": "A String", # An optional label to display in a dax UI for the element.
           "boolValue": True or False, # Contains value if the data is of a boolean type.
           "strValue": "A String", # Contains value if the data is of string type.
-          "key": "A String", # The key identifying the display data.
-              # This is intended to be used as a label for the display data
-              # when viewed in a dax monitoring system.
+          "durationValue": "A String", # Contains value if the data is of duration type.
           "int64Value": "A String", # Contains value if the data is of int64 type.
-          "timestampValue": "A String", # Contains value if the data is of timestamp type.
         },
       ],
     },
@@ -339,6 +355,11 @@
       "a_key": "A String",
     },
     "environment": { # Describes the environment in which a Dataflow Job runs. # The environment for the job.
+      "workerRegion": "A String", # The Compute Engine region
+          # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+          # which worker processing should occur, e.g. "us-west1". Mutually exclusive
+          # with worker_zone. If neither worker_region nor worker_zone is specified,
+          # default to the control plane's region.
       "version": { # A structure describing which components and their versions of the service
           # are required in order to run the job.
         "a_key": "", # Properties of the object.
@@ -372,10 +393,11 @@
       "userAgent": { # A description of the process that generated the request.
         "a_key": "", # Properties of the object.
       },
-      "clusterManagerApiService": "A String", # The type of cluster manager API to use.  If unknown or
-          # unspecified, the service will attempt to choose a reasonable
-          # default.  This should be in the form of the API service name,
-          # e.g. "compute.googleapis.com".
+      "workerZone": "A String", # The Compute Engine zone
+          # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+          # which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
+          # with worker_region. If neither worker_region nor worker_zone is specified,
+          # a zone in the control plane's region is chosen based on available capacity.
       "workerPools": [ # The worker pools. At least one "harness" worker pool must be
           # specified in order for the job to have workers.
         { # Describes one particular pool of Cloud Dataflow workers to be
@@ -383,7 +405,27 @@
             # computations required by a job.  Note that a workflow job may use
             # multiple pools, in order to match the various computational
             # requirements of the various stages of the job.
+          "workerHarnessContainerImage": "A String", # Required. Docker container image that executes the Cloud Dataflow worker
+              # harness, residing in Google Container Registry.
+              #
+              # Deprecated for the Fn API path. Use sdk_harness_container_images instead.
+          "ipConfiguration": "A String", # Configuration for VM IPs.
+          "autoscalingSettings": { # Settings for WorkerPool autoscaling. # Settings for autoscaling of this WorkerPool.
+            "maxNumWorkers": 42, # The maximum number of workers to cap scaling at.
+            "algorithm": "A String", # The algorithm to use for autoscaling.
+          },
           "diskSourceImage": "A String", # Fully qualified source image for disks.
+          "network": "A String", # Network to which VMs will be assigned.  If empty or unspecified,
+              # the service will use the network "default".
+          "zone": "A String", # Zone to run the worker pools in.  If empty or unspecified, the service
+              # will attempt to choose a reasonable default.
+          "metadata": { # Metadata to set on the Google Compute Engine VMs.
+            "a_key": "A String",
+          },
+          "machineType": "A String", # Machine type (e.g. "n1-standard-1").  If empty or unspecified, the
+              # service will attempt to choose a reasonable default.
+          "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google
+              # Compute Engine API.
           "taskrunnerSettings": { # Taskrunner configuration settings. # Settings passed through to Google Compute Engine workers when
               # using the standard Dataflow task runner.  Users should ignore
               # this field.
@@ -397,6 +439,23 @@
                 #   storage.googleapis.com/{bucket}/{object}
                 #   bucket.storage.googleapis.com/{object}
             "commandlinesFileName": "A String", # The file to store preprocessing commands in.
+            "alsologtostderr": True or False, # Whether to also send taskrunner log info to stderr.
+            "continueOnException": True or False, # Whether to continue taskrunner if an exception is hit.
+            "baseTaskDir": "A String", # The location on the worker for task-specific subdirectories.
+            "vmId": "A String", # The ID string of the VM.
+            "taskGroup": "A String", # The UNIX group ID on the worker VM to use for tasks launched by
+                # taskrunner; e.g. "wheel".
+            "taskUser": "A String", # The UNIX user ID on the worker VM to use for tasks launched by
+                # taskrunner; e.g. "root".
+            "oauthScopes": [ # The OAuth2 scopes to be requested by the taskrunner in order to
+                # access the Cloud Dataflow API.
+              "A String",
+            ],
+            "languageHint": "A String", # The suggested backend language.
+            "logToSerialconsole": True or False, # Whether to send taskrunner log info to Google Compute Engine VM serial
+                # console.
+            "streamingWorkerMainClass": "A String", # The streaming worker main class name.
+            "logDir": "A String", # The directory on the VM to store logs.
             "parallelWorkerSettings": { # Provides data to pass through to the worker harness. # The settings to pass to the parallel worker harness.
               "reportingEnabled": True or False, # Whether to send work progress updates to the service.
               "shuffleServicePath": "A String", # The Shuffle service path relative to the root URL, for example,
@@ -423,31 +482,6 @@
                   #   storage.googleapis.com/{bucket}/{object}
                   #   bucket.storage.googleapis.com/{object}
             },
-            "vmId": "A String", # The ID string of the VM.
-            "baseTaskDir": "A String", # The location on the worker for task-specific subdirectories.
-            "continueOnException": True or False, # Whether to continue taskrunner if an exception is hit.
-            "oauthScopes": [ # The OAuth2 scopes to be requested by the taskrunner in order to
-                # access the Cloud Dataflow API.
-              "A String",
-            ],
-            "taskUser": "A String", # The UNIX user ID on the worker VM to use for tasks launched by
-                # taskrunner; e.g. "root".
-            "baseUrl": "A String", # The base URL for the taskrunner to use when accessing Google Cloud APIs.
-                #
-                # When workers access Google Cloud APIs, they logically do so via
-                # relative URLs.  If this field is specified, it supplies the base
-                # URL to use for resolving these relative URLs.  The normative
-                # algorithm used is defined by RFC 1808, "Relative Uniform Resource
-                # Locators".
-                #
-                # If not specified, the default value is "http://www.googleapis.com/"
-            "taskGroup": "A String", # The UNIX group ID on the worker VM to use for tasks launched by
-                # taskrunner; e.g. "wheel".
-            "languageHint": "A String", # The suggested backend language.
-            "logToSerialconsole": True or False, # Whether to send taskrunner log info to Google Compute Engine VM serial
-                # console.
-            "streamingWorkerMainClass": "A String", # The streaming worker main class name.
-            "logDir": "A String", # The directory on the VM to store logs.
             "dataflowApiVersion": "A String", # The API version of endpoint, e.g. "v1b3"
             "harnessCommand": "A String", # The command to launch the worker harness.
             "tempStoragePrefix": "A String", # The prefix of the resources the taskrunner should use for
@@ -458,10 +492,22 @@
                 # Google Cloud Storage:
                 #   storage.googleapis.com/{bucket}/{object}
                 #   bucket.storage.googleapis.com/{object}
-            "alsologtostderr": True or False, # Whether to also send taskrunner log info to stderr.
+            "baseUrl": "A String", # The base URL for the taskrunner to use when accessing Google Cloud APIs.
+                #
+                # When workers access Google Cloud APIs, they logically do so via
+                # relative URLs.  If this field is specified, it supplies the base
+                # URL to use for resolving these relative URLs.  The normative
+                # algorithm used is defined by RFC 1808, "Relative Uniform Resource
+                # Locators".
+                #
+                # If not specified, the default value is "http://www.googleapis.com/"
           },
-          "kind": "A String", # The kind of the worker pool; currently only `harness` and `shuffle`
-              # are supported.
+          "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the
+              # service will choose a number of threads (according to the number of cores
+              # on the selected machine type for batch, or 1 by convention for streaming).
+          "poolArgs": { # Extra arguments for this worker pool.
+            "a_key": "", # Properties of the object. Contains field @type with type URL.
+          },
           "packages": [ # Packages to be installed on workers.
             { # The packages that must be installed in order for a worker to run the
                 # steps of the Cloud Dataflow job that will be assigned to its worker
@@ -481,13 +527,12 @@
               "name": "A String", # The name of the package.
             },
           ],
-          "machineType": "A String", # Machine type (e.g. "n1-standard-1").  If empty or unspecified, the
-              # service will attempt to choose a reasonable default.
-          "network": "A String", # Network to which VMs will be assigned.  If empty or unspecified,
-              # the service will use the network "default".
-          "zone": "A String", # Zone to run the worker pools in.  If empty or unspecified, the service
-              # will attempt to choose a reasonable default.
-          "diskSizeGb": 42, # Size of root disk for VMs, in GB.  If zero or unspecified, the service will
+          "defaultPackageSet": "A String", # The default package set to install.  This allows the service to
+              # select a default set of packages which are useful to worker
+              # harnesses written in a particular language.
+          "kind": "A String", # The kind of the worker pool; currently only `harness` and `shuffle`
+              # are supported.
+          "diskType": "A String", # Type of root disk for VMs.  If empty or unspecified, the service will
               # attempt to choose a reasonable default.
           "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool.
               # Allowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and
@@ -505,20 +550,11 @@
               #
               # If unknown or unspecified, the service will attempt to choose a reasonable
               # default.
-          "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google
-              # Compute Engine API.
-          "ipConfiguration": "A String", # Configuration for VM IPs.
-          "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the
-              # service will choose a number of threads (according to the number of cores
-              # on the selected machine type for batch, or 1 by convention for streaming).
-          "poolArgs": { # Extra arguments for this worker pool.
-            "a_key": "", # Properties of the object. Contains field @type with type URL.
-          },
+          "diskSizeGb": 42, # Size of root disk for VMs, in GB.  If zero or unspecified, the service will
+              # attempt to choose a reasonable default.
           "numWorkers": 42, # Number of Google Compute Engine workers in this pool needed to
               # execute the job.  If zero or unspecified, the service will
               # attempt to choose a reasonable default.
-          "workerHarnessContainerImage": "A String", # Required. Docker container image that executes the Cloud Dataflow worker
-              # harness, residing in Google Container Registry.
           "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired.  Expected to be of
               # the form "regions/REGION/subnetworks/SUBNETWORK".
           "dataDisks": [ # Data disks that are used by a VM in this workflow.
@@ -546,20 +582,25 @@
                   # compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard
             },
           ],
-          "autoscalingSettings": { # Settings for WorkerPool autoscaling. # Settings for autoscaling of this WorkerPool.
-            "maxNumWorkers": 42, # The maximum number of workers to cap scaling at.
-            "algorithm": "A String", # The algorithm to use for autoscaling.
-          },
-          "defaultPackageSet": "A String", # The default package set to install.  This allows the service to
-              # select a default set of packages which are useful to worker
-              # harnesses written in a particular language.
-          "diskType": "A String", # Type of root disk for VMs.  If empty or unspecified, the service will
-              # attempt to choose a reasonable default.
-          "metadata": { # Metadata to set on the Google Compute Engine VMs.
-            "a_key": "A String",
-          },
+          "sdkHarnessContainerImages": [ # Set of SDK harness containers needed to execute this pipeline. This will
+              # only be set in the Fn API path. For non-cross-language pipelines this
+              # should have only one entry. Cross-language pipelines will have two or more
+              # entries.
+            { # Defines a SDK harness container for executing Dataflow pipelines.
+              "containerImage": "A String", # A docker container image that resides in Google Container Registry.
+              "useSingleCorePerContainer": True or False, # If true, recommends the Dataflow service to use only one core per SDK
+                  # container instance with this image. If false (or unset) recommends using
+                  # more than one core per SDK container instance with this image for
+                  # efficiency. Note that Dataflow service may choose to override this property
+                  # if needed.
+            },
+          ],
         },
       ],
+      "clusterManagerApiService": "A String", # The type of cluster manager API to use.  If unknown or
+          # unspecified, the service will attempt to choose a reasonable
+          # default.  This should be in the form of the API service name,
+          # e.g. "compute.googleapis.com".
       "tempStoragePrefix": "A String", # The prefix of the resources the system should use for temporary
           # storage.  The system will append the suffix "/temp-{JOBNAME} to
           # this resource prefix, where {JOBNAME} is the value of the
@@ -656,13 +697,13 @@
           # Note that the Cloud Dataflow service may be used to run many different
           # types of jobs, not just Map-Reduce.
         "kind": "A String", # The kind of step in the Cloud Dataflow job.
+        "name": "A String", # The name that identifies the step. This must be unique for each
+            # step with respect to all other steps in the Cloud Dataflow job.
         "properties": { # Named properties associated with the step. Each kind of
             # predefined step has its own required set of properties.
             # Must be provided on Create.  Only retrieved with JOB_VIEW_ALL.
           "a_key": "", # Properties of the object.
         },
-        "name": "A String", # The name that identifies the step. This must be unique for each
-            # step with respect to all other steps in the Cloud Dataflow job.
       },
     ],
     "replaceJobId": "A String", # If this job is an update of an existing job, this field is the job ID
@@ -723,56 +764,11 @@
     "status": { # The `Status` type defines a logical error model that is suitable for # The status of the get template request. Any problems with the
         # request will be indicated in the error_details.
         # 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:
+        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+        # three pieces of data: error code, error message, and error details.
         #
-        # - Simple to use and understand for most users
-        # - Flexible enough to meet unexpected needs
-        #
-        # # Overview
-        #
-        # The `Status` message contains three pieces of data: error code, error
-        # message, and error details. The error code should be an enum value of
-        # google.rpc.Code, but it may accept additional error codes if needed.  The
-        # error message should be a developer-facing English message that helps
-        # developers *understand* and *resolve* the error. If a localized user-facing
-        # error message is needed, put the localized message in the error details or
-        # localize it in the client. The optional error details may contain arbitrary
-        # information about the error. There is a predefined set of error detail types
-        # in the package `google.rpc` that can be used for common error conditions.
-        #
-        # # Language mapping
-        #
-        # The `Status` message is the logical representation of the error model, but it
-        # is not necessarily the actual wire format. When the `Status` message is
-        # exposed in different client libraries and different wire protocols, it can be
-        # mapped differently. For example, it will likely be mapped to some exceptions
-        # in Java, but more likely mapped to some error codes in C.
-        #
-        # # Other uses
-        #
-        # The error model and the `Status` message can be used in a variety of
-        # environments, either with or without APIs, to provide a
-        # consistent developer experience across different environments.
-        #
-        # Example uses of this error model include:
-        #
-        # - Partial errors. If a service needs to return partial errors to the client,
-        #     it may embed the `Status` in the normal response to indicate the partial
-        #     errors.
-        #
-        # - Workflow errors. A typical workflow has multiple steps. Each step may
-        #     have a `Status` message for error reporting.
-        #
-        # - Batch operations. If a client uses batch request and batch response, the
-        #     `Status` message should be used directly inside batch response, one for
-        #     each error sub-response.
-        #
-        # - Asynchronous operations. If an API call embeds asynchronous operation
-        #     results in its response, the status of those operations should be
-        #     represented directly using the `Status` message.
-        #
-        # - Logging. If some API errors are stored in logs, the message `Status` could
-        #     be used directly after any stripping needed for security/privacy reasons.
+        # You can find out more about this error model and how to work with it in the
+        # [API Design Guide](https://cloud.google.com/apis/design/errors).
       "message": "A String", # A developer-facing error message, which should be in English. Any
           # user-facing error message should be localized and sent in the
           # google.rpc.Status.details field, or localized by the client.
@@ -784,18 +780,40 @@
         },
       ],
     },
+    "templateType": "A String", # Template Type.
+    "runtimeMetadata": { # RuntimeMetadata describing a runtime environment. # Describes the runtime metadata with SDKInfo and available parameters.
+      "parameters": [ # The parameters for the template.
+        { # Metadata for a specific parameter.
+          "name": "A String", # Required. The name of the parameter.
+          "isOptional": True or False, # Optional. Whether the parameter is optional. Defaults to false.
+          "regexes": [ # Optional. Regexes that the parameter must match.
+            "A String",
+          ],
+          "label": "A String", # Required. The label to display for the parameter.
+          "helpText": "A String", # Required. The help text to display for the parameter.
+          "paramType": "A String", # Optional. The type of the parameter.
+              # Used for selecting input picker.
+        },
+      ],
+      "sdkInfo": { # SDK Information. # SDK Info for the template.
+        "version": "A String", # Optional. The SDK version.
+        "language": "A String", # Required. The SDK Language.
+      },
+    },
     "metadata": { # Metadata describing a template. # The template metadata describing the template name, available
         # parameters, etc.
       "name": "A String", # Required. The name of the template.
       "parameters": [ # The parameters for the template.
         { # Metadata for a specific parameter.
+          "name": "A String", # Required. The name of the parameter.
+          "isOptional": True or False, # Optional. Whether the parameter is optional. Defaults to false.
           "regexes": [ # Optional. Regexes that the parameter must match.
             "A String",
           ],
-          "helpText": "A String", # Required. The help text to display for the parameter.
-          "name": "A String", # Required. The name of the parameter.
-          "isOptional": True or False, # Optional. Whether the parameter is optional. Defaults to false.
           "label": "A String", # Required. The label to display for the parameter.
+          "helpText": "A String", # Required. The help text to display for the parameter.
+          "paramType": "A String", # Optional. The type of the parameter.
+              # Used for selecting input picker.
         },
       ],
       "description": "A String", # Optional. A description of the template.
@@ -804,16 +822,21 @@
 </div>
 
 <div class="method">
-    <code class="details" id="launch">launch(projectId, body, dynamicTemplate_gcsPath=None, x__xgafv=None, dynamicTemplate_stagingLocation=None, location=None, gcsPath=None, validateOnly=None)</code>
+    <code class="details" id="launch">launch(projectId, body=None, dynamicTemplate_gcsPath=None, x__xgafv=None, dynamicTemplate_stagingLocation=None, location=None, gcsPath=None, validateOnly=None)</code>
   <pre>Launch a template.
 
 Args:
   projectId: string, Required. The ID of the Cloud Platform project that the job belongs to. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Parameters to provide to the template being launched.
     "environment": { # The environment values to set at runtime. # The runtime environment for the job.
+      "workerRegion": "A String", # The Compute Engine region
+          # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+          # which worker processing should occur, e.g. "us-west1". Mutually exclusive
+          # with worker_zone. If neither worker_region nor worker_zone is specified,
+          # default to the control plane's region.
       "machineType": "A String", # The machine type to use for the job. Defaults to the value from the
           # template if not specified.
       "network": "A String", # Network to which VMs will be assigned.  If empty or unspecified,
@@ -821,26 +844,43 @@
       "zone": "A String", # The Compute Engine [availability
           # zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones)
           # for launching worker instances to run your pipeline.
+          # In the future, worker_zone will take precedence.
       "additionalUserLabels": { # Additional user labels to be specified for the job.
           # Keys and values should follow the restrictions specified in the [labeling
           # restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)
           # page.
         "a_key": "A String",
       },
+      "numWorkers": 42, # The initial number of Google Compute Engine instnaces for the job.
       "additionalExperiments": [ # Additional experiment flags for the job.
         "A String",
       ],
+      "ipConfiguration": "A String", # Configuration for VM IPs.
       "bypassTempDirValidation": True or False, # Whether to bypass the safety checks for the job's temporary directory.
           # Use with caution.
       "tempLocation": "A String", # The Cloud Storage path to use for temporary files.
           # Must be a valid Cloud Storage URL, beginning with `gs://`.
       "serviceAccountEmail": "A String", # The email address of the service account to run the job as.
-      "numWorkers": 42, # The initial number of Google Compute Engine instnaces for the job.
+      "kmsKeyName": "A String", # Optional. Name for the Cloud KMS key for the job.
+          # Key format is:
+          # projects/&lt;project&gt;/locations/&lt;location&gt;/keyRings/&lt;keyring&gt;/cryptoKeys/&lt;key&gt;
       "maxWorkers": 42, # The maximum number of Google Compute Engine instances to be made
           # available to your pipeline during execution, from 1 to 1000.
       "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired.  Expected to be of
           # the form "regions/REGION/subnetworks/SUBNETWORK".
+      "workerZone": "A String", # The Compute Engine zone
+          # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+          # which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
+          # with worker_region. If neither worker_region nor worker_zone is specified,
+          # a zone in the control plane's region is chosen based on available capacity.
+          # If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.
     },
+    "transformNameMapping": { # Only applicable when updating a pipeline. Map of transform name prefixes of
+        # the job to be replaced to the corresponding name prefixes of the new job.
+      "a_key": "A String",
+    },
+    "update": True or False, # If set, replace the existing pipeline with the name specified by jobName
+        # with this pipeline, preserving state.
     "parameters": { # The runtime parameters to pass to the job.
       "a_key": "A String",
     },
@@ -877,7 +917,7 @@
           #
           # * Keys must conform to regexp:  \p{Ll}\p{Lo}{0,62}
           # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
-          # * Both keys and values are additionally constrained to be <= 128 bytes in
+          # * Both keys and values are additionally constrained to be &lt;= 128 bytes in
           # size.
         "a_key": "A String",
       },
@@ -924,9 +964,9 @@
         "bigqueryDetails": [ # Identification of a BigQuery source used in the Dataflow job.
           { # Metadata for a BigQuery connector used by the job.
             "projectId": "A String", # Project accessed in the connection.
-            "dataset": "A String", # Dataset accessed in the connection.
-            "table": "A String", # Table accessed in the connection.
             "query": "A String", # Query used to access data in the connection.
+            "table": "A String", # Table accessed in the connection.
+            "dataset": "A String", # Dataset accessed in the connection.
           },
         ],
       },
@@ -945,13 +985,16 @@
             ],
             "displayData": [ # Transform-specific display data.
               { # Data provided with a pipeline or transform to provide descriptive info.
+                "key": "A String", # The key identifying the display data.
+                    # This is intended to be used as a label for the display data
+                    # when viewed in a dax monitoring system.
                 "shortStrValue": "A String", # A possible additional shorter value to display.
                     # For example a java_class_name_value of com.mypackage.MyDoFn
                     # will be stored with MyDoFn as the short_str_value and
                     # com.mypackage.MyDoFn as the java_class_name value.
                     # short_str_value can be displayed and java_class_name_value
                     # will be displayed as a tooltip.
-                "durationValue": "A String", # Contains value if the data is of duration type.
+                "timestampValue": "A String", # Contains value if the data is of timestamp type.
                 "url": "A String", # An optional full URL.
                 "floatValue": 3.14, # Contains value if the data is of float type.
                 "namespace": "A String", # The namespace for the key. This is usually a class name or programming
@@ -962,11 +1005,8 @@
                 "label": "A String", # An optional label to display in a dax UI for the element.
                 "boolValue": True or False, # Contains value if the data is of a boolean type.
                 "strValue": "A String", # Contains value if the data is of string type.
-                "key": "A String", # The key identifying the display data.
-                    # This is intended to be used as a label for the display data
-                    # when viewed in a dax monitoring system.
+                "durationValue": "A String", # Contains value if the data is of duration type.
                 "int64Value": "A String", # Contains value if the data is of int64 type.
-                "timestampValue": "A String", # Contains value if the data is of timestamp type.
               },
             ],
             "outputCollectionName": [ # User  names for all collection outputs to this transform.
@@ -1021,13 +1061,16 @@
         ],
         "displayData": [ # Pipeline level display data.
           { # Data provided with a pipeline or transform to provide descriptive info.
+            "key": "A String", # The key identifying the display data.
+                # This is intended to be used as a label for the display data
+                # when viewed in a dax monitoring system.
             "shortStrValue": "A String", # A possible additional shorter value to display.
                 # For example a java_class_name_value of com.mypackage.MyDoFn
                 # will be stored with MyDoFn as the short_str_value and
                 # com.mypackage.MyDoFn as the java_class_name value.
                 # short_str_value can be displayed and java_class_name_value
                 # will be displayed as a tooltip.
-            "durationValue": "A String", # Contains value if the data is of duration type.
+            "timestampValue": "A String", # Contains value if the data is of timestamp type.
             "url": "A String", # An optional full URL.
             "floatValue": 3.14, # Contains value if the data is of float type.
             "namespace": "A String", # The namespace for the key. This is usually a class name or programming
@@ -1038,11 +1081,8 @@
             "label": "A String", # An optional label to display in a dax UI for the element.
             "boolValue": True or False, # Contains value if the data is of a boolean type.
             "strValue": "A String", # Contains value if the data is of string type.
-            "key": "A String", # The key identifying the display data.
-                # This is intended to be used as a label for the display data
-                # when viewed in a dax monitoring system.
+            "durationValue": "A String", # Contains value if the data is of duration type.
             "int64Value": "A String", # Contains value if the data is of int64 type.
-            "timestampValue": "A String", # Contains value if the data is of timestamp type.
           },
         ],
       },
@@ -1066,6 +1106,11 @@
         "a_key": "A String",
       },
       "environment": { # Describes the environment in which a Dataflow Job runs. # The environment for the job.
+        "workerRegion": "A String", # The Compute Engine region
+            # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+            # which worker processing should occur, e.g. "us-west1". Mutually exclusive
+            # with worker_zone. If neither worker_region nor worker_zone is specified,
+            # default to the control plane's region.
         "version": { # A structure describing which components and their versions of the service
             # are required in order to run the job.
           "a_key": "", # Properties of the object.
@@ -1099,10 +1144,11 @@
         "userAgent": { # A description of the process that generated the request.
           "a_key": "", # Properties of the object.
         },
-        "clusterManagerApiService": "A String", # The type of cluster manager API to use.  If unknown or
-            # unspecified, the service will attempt to choose a reasonable
-            # default.  This should be in the form of the API service name,
-            # e.g. "compute.googleapis.com".
+        "workerZone": "A String", # The Compute Engine zone
+            # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
+            # which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
+            # with worker_region. If neither worker_region nor worker_zone is specified,
+            # a zone in the control plane's region is chosen based on available capacity.
         "workerPools": [ # The worker pools. At least one "harness" worker pool must be
             # specified in order for the job to have workers.
           { # Describes one particular pool of Cloud Dataflow workers to be
@@ -1110,7 +1156,27 @@
               # computations required by a job.  Note that a workflow job may use
               # multiple pools, in order to match the various computational
               # requirements of the various stages of the job.
+            "workerHarnessContainerImage": "A String", # Required. Docker container image that executes the Cloud Dataflow worker
+                # harness, residing in Google Container Registry.
+                #
+                # Deprecated for the Fn API path. Use sdk_harness_container_images instead.
+            "ipConfiguration": "A String", # Configuration for VM IPs.
+            "autoscalingSettings": { # Settings for WorkerPool autoscaling. # Settings for autoscaling of this WorkerPool.
+              "maxNumWorkers": 42, # The maximum number of workers to cap scaling at.
+              "algorithm": "A String", # The algorithm to use for autoscaling.
+            },
             "diskSourceImage": "A String", # Fully qualified source image for disks.
+            "network": "A String", # Network to which VMs will be assigned.  If empty or unspecified,
+                # the service will use the network "default".
+            "zone": "A String", # Zone to run the worker pools in.  If empty or unspecified, the service
+                # will attempt to choose a reasonable default.
+            "metadata": { # Metadata to set on the Google Compute Engine VMs.
+              "a_key": "A String",
+            },
+            "machineType": "A String", # Machine type (e.g. "n1-standard-1").  If empty or unspecified, the
+                # service will attempt to choose a reasonable default.
+            "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google
+                # Compute Engine API.
             "taskrunnerSettings": { # Taskrunner configuration settings. # Settings passed through to Google Compute Engine workers when
                 # using the standard Dataflow task runner.  Users should ignore
                 # this field.
@@ -1124,6 +1190,23 @@
                   #   storage.googleapis.com/{bucket}/{object}
                   #   bucket.storage.googleapis.com/{object}
               "commandlinesFileName": "A String", # The file to store preprocessing commands in.
+              "alsologtostderr": True or False, # Whether to also send taskrunner log info to stderr.
+              "continueOnException": True or False, # Whether to continue taskrunner if an exception is hit.
+              "baseTaskDir": "A String", # The location on the worker for task-specific subdirectories.
+              "vmId": "A String", # The ID string of the VM.
+              "taskGroup": "A String", # The UNIX group ID on the worker VM to use for tasks launched by
+                  # taskrunner; e.g. "wheel".
+              "taskUser": "A String", # The UNIX user ID on the worker VM to use for tasks launched by
+                  # taskrunner; e.g. "root".
+              "oauthScopes": [ # The OAuth2 scopes to be requested by the taskrunner in order to
+                  # access the Cloud Dataflow API.
+                "A String",
+              ],
+              "languageHint": "A String", # The suggested backend language.
+              "logToSerialconsole": True or False, # Whether to send taskrunner log info to Google Compute Engine VM serial
+                  # console.
+              "streamingWorkerMainClass": "A String", # The streaming worker main class name.
+              "logDir": "A String", # The directory on the VM to store logs.
               "parallelWorkerSettings": { # Provides data to pass through to the worker harness. # The settings to pass to the parallel worker harness.
                 "reportingEnabled": True or False, # Whether to send work progress updates to the service.
                 "shuffleServicePath": "A String", # The Shuffle service path relative to the root URL, for example,
@@ -1150,31 +1233,6 @@
                     #   storage.googleapis.com/{bucket}/{object}
                     #   bucket.storage.googleapis.com/{object}
               },
-              "vmId": "A String", # The ID string of the VM.
-              "baseTaskDir": "A String", # The location on the worker for task-specific subdirectories.
-              "continueOnException": True or False, # Whether to continue taskrunner if an exception is hit.
-              "oauthScopes": [ # The OAuth2 scopes to be requested by the taskrunner in order to
-                  # access the Cloud Dataflow API.
-                "A String",
-              ],
-              "taskUser": "A String", # The UNIX user ID on the worker VM to use for tasks launched by
-                  # taskrunner; e.g. "root".
-              "baseUrl": "A String", # The base URL for the taskrunner to use when accessing Google Cloud APIs.
-                  #
-                  # When workers access Google Cloud APIs, they logically do so via
-                  # relative URLs.  If this field is specified, it supplies the base
-                  # URL to use for resolving these relative URLs.  The normative
-                  # algorithm used is defined by RFC 1808, "Relative Uniform Resource
-                  # Locators".
-                  #
-                  # If not specified, the default value is "http://www.googleapis.com/"
-              "taskGroup": "A String", # The UNIX group ID on the worker VM to use for tasks launched by
-                  # taskrunner; e.g. "wheel".
-              "languageHint": "A String", # The suggested backend language.
-              "logToSerialconsole": True or False, # Whether to send taskrunner log info to Google Compute Engine VM serial
-                  # console.
-              "streamingWorkerMainClass": "A String", # The streaming worker main class name.
-              "logDir": "A String", # The directory on the VM to store logs.
               "dataflowApiVersion": "A String", # The API version of endpoint, e.g. "v1b3"
               "harnessCommand": "A String", # The command to launch the worker harness.
               "tempStoragePrefix": "A String", # The prefix of the resources the taskrunner should use for
@@ -1185,10 +1243,22 @@
                   # Google Cloud Storage:
                   #   storage.googleapis.com/{bucket}/{object}
                   #   bucket.storage.googleapis.com/{object}
-              "alsologtostderr": True or False, # Whether to also send taskrunner log info to stderr.
+              "baseUrl": "A String", # The base URL for the taskrunner to use when accessing Google Cloud APIs.
+                  #
+                  # When workers access Google Cloud APIs, they logically do so via
+                  # relative URLs.  If this field is specified, it supplies the base
+                  # URL to use for resolving these relative URLs.  The normative
+                  # algorithm used is defined by RFC 1808, "Relative Uniform Resource
+                  # Locators".
+                  #
+                  # If not specified, the default value is "http://www.googleapis.com/"
             },
-            "kind": "A String", # The kind of the worker pool; currently only `harness` and `shuffle`
-                # are supported.
+            "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the
+                # service will choose a number of threads (according to the number of cores
+                # on the selected machine type for batch, or 1 by convention for streaming).
+            "poolArgs": { # Extra arguments for this worker pool.
+              "a_key": "", # Properties of the object. Contains field @type with type URL.
+            },
             "packages": [ # Packages to be installed on workers.
               { # The packages that must be installed in order for a worker to run the
                   # steps of the Cloud Dataflow job that will be assigned to its worker
@@ -1208,13 +1278,12 @@
                 "name": "A String", # The name of the package.
               },
             ],
-            "machineType": "A String", # Machine type (e.g. "n1-standard-1").  If empty or unspecified, the
-                # service will attempt to choose a reasonable default.
-            "network": "A String", # Network to which VMs will be assigned.  If empty or unspecified,
-                # the service will use the network "default".
-            "zone": "A String", # Zone to run the worker pools in.  If empty or unspecified, the service
-                # will attempt to choose a reasonable default.
-            "diskSizeGb": 42, # Size of root disk for VMs, in GB.  If zero or unspecified, the service will
+            "defaultPackageSet": "A String", # The default package set to install.  This allows the service to
+                # select a default set of packages which are useful to worker
+                # harnesses written in a particular language.
+            "kind": "A String", # The kind of the worker pool; currently only `harness` and `shuffle`
+                # are supported.
+            "diskType": "A String", # Type of root disk for VMs.  If empty or unspecified, the service will
                 # attempt to choose a reasonable default.
             "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool.
                 # Allowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and
@@ -1232,20 +1301,11 @@
                 #
                 # If unknown or unspecified, the service will attempt to choose a reasonable
                 # default.
-            "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google
-                # Compute Engine API.
-            "ipConfiguration": "A String", # Configuration for VM IPs.
-            "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the
-                # service will choose a number of threads (according to the number of cores
-                # on the selected machine type for batch, or 1 by convention for streaming).
-            "poolArgs": { # Extra arguments for this worker pool.
-              "a_key": "", # Properties of the object. Contains field @type with type URL.
-            },
+            "diskSizeGb": 42, # Size of root disk for VMs, in GB.  If zero or unspecified, the service will
+                # attempt to choose a reasonable default.
             "numWorkers": 42, # Number of Google Compute Engine workers in this pool needed to
                 # execute the job.  If zero or unspecified, the service will
                 # attempt to choose a reasonable default.
-            "workerHarnessContainerImage": "A String", # Required. Docker container image that executes the Cloud Dataflow worker
-                # harness, residing in Google Container Registry.
             "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired.  Expected to be of
                 # the form "regions/REGION/subnetworks/SUBNETWORK".
             "dataDisks": [ # Data disks that are used by a VM in this workflow.
@@ -1273,20 +1333,25 @@
                     # compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard
               },
             ],
-            "autoscalingSettings": { # Settings for WorkerPool autoscaling. # Settings for autoscaling of this WorkerPool.
-              "maxNumWorkers": 42, # The maximum number of workers to cap scaling at.
-              "algorithm": "A String", # The algorithm to use for autoscaling.
-            },
-            "defaultPackageSet": "A String", # The default package set to install.  This allows the service to
-                # select a default set of packages which are useful to worker
-                # harnesses written in a particular language.
-            "diskType": "A String", # Type of root disk for VMs.  If empty or unspecified, the service will
-                # attempt to choose a reasonable default.
-            "metadata": { # Metadata to set on the Google Compute Engine VMs.
-              "a_key": "A String",
-            },
+            "sdkHarnessContainerImages": [ # Set of SDK harness containers needed to execute this pipeline. This will
+                # only be set in the Fn API path. For non-cross-language pipelines this
+                # should have only one entry. Cross-language pipelines will have two or more
+                # entries.
+              { # Defines a SDK harness container for executing Dataflow pipelines.
+                "containerImage": "A String", # A docker container image that resides in Google Container Registry.
+                "useSingleCorePerContainer": True or False, # If true, recommends the Dataflow service to use only one core per SDK
+                    # container instance with this image. If false (or unset) recommends using
+                    # more than one core per SDK container instance with this image for
+                    # efficiency. Note that Dataflow service may choose to override this property
+                    # if needed.
+              },
+            ],
           },
         ],
+        "clusterManagerApiService": "A String", # The type of cluster manager API to use.  If unknown or
+            # unspecified, the service will attempt to choose a reasonable
+            # default.  This should be in the form of the API service name,
+            # e.g. "compute.googleapis.com".
         "tempStoragePrefix": "A String", # The prefix of the resources the system should use for temporary
             # storage.  The system will append the suffix "/temp-{JOBNAME} to
             # this resource prefix, where {JOBNAME} is the value of the
@@ -1383,13 +1448,13 @@
             # Note that the Cloud Dataflow service may be used to run many different
             # types of jobs, not just Map-Reduce.
           "kind": "A String", # The kind of step in the Cloud Dataflow job.
+          "name": "A String", # The name that identifies the step. This must be unique for each
+              # step with respect to all other steps in the Cloud Dataflow job.
           "properties": { # Named properties associated with the step. Each kind of
               # predefined step has its own required set of properties.
               # Must be provided on Create.  Only retrieved with JOB_VIEW_ALL.
             "a_key": "", # Properties of the object.
           },
-          "name": "A String", # The name that identifies the step. This must be unique for each
-              # step with respect to all other steps in the Cloud Dataflow job.
         },
       ],
       "replaceJobId": "A String", # If this job is an update of an existing job, this field is the job ID