chore: regens API reference docs (#889)

diff --git a/docs/dyn/dataflow_v1b3.projects.locations.jobs.html b/docs/dyn/dataflow_v1b3.projects.locations.jobs.html
index 4359e95..1ddadd8 100644
--- a/docs/dyn/dataflow_v1b3.projects.locations.jobs.html
+++ b/docs/dyn/dataflow_v1b3.projects.locations.jobs.html
@@ -95,7 +95,7 @@
 <p class="firstline">Returns the workItems Resource.</p>
 
 <p class="toc_element">
-  <code><a href="#create">create(projectId, location, body, x__xgafv=None, replaceJobId=None, view=None)</a></code></p>
+  <code><a href="#create">create(projectId, location, body=None, x__xgafv=None, replaceJobId=None, view=None)</a></code></p>
 <p class="firstline">Creates a Cloud Dataflow job.</p>
 <p class="toc_element">
   <code><a href="#get">get(projectId, location, jobId, x__xgafv=None, view=None)</a></code></p>
@@ -110,14 +110,14 @@
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
-  <code><a href="#snapshot">snapshot(projectId, location, jobId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#snapshot">snapshot(projectId, location, jobId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Snapshot the state of a streaming job.</p>
 <p class="toc_element">
-  <code><a href="#update">update(projectId, location, jobId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#update">update(projectId, location, jobId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the state of an existing Cloud Dataflow job.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="create">create(projectId, location, body, x__xgafv=None, replaceJobId=None, view=None)</code>
+    <code class="details" id="create">create(projectId, location, body=None, x__xgafv=None, replaceJobId=None, view=None)</code>
   <pre>Creates a Cloud Dataflow job.
 
 To create a job, we recommend using `projects.locations.jobs.create` with a
@@ -131,7 +131,7 @@
   location: string, The [regional endpoint]
 (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
 contains this job. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Defines a job to be run by the Cloud Dataflow service.
@@ -142,7 +142,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",
   },
@@ -189,9 +189,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.
       },
     ],
   },
@@ -210,13 +210,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
@@ -227,11 +230,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.
@@ -286,13 +286,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
@@ -303,11 +306,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.
       },
     ],
   },
@@ -331,6 +331,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.
@@ -364,10 +369,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
@@ -375,7 +381,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.
@@ -389,6 +415,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,
@@ -415,31 +458,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
@@ -450,10 +468,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
@@ -473,13 +503,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
@@ -497,20 +526,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.
@@ -538,20 +558,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
@@ -648,13 +673,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
@@ -707,7 +732,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",
     },
@@ -754,9 +779,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.
         },
       ],
     },
@@ -775,13 +800,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
@@ -792,11 +820,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.
@@ -851,13 +876,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
@@ -868,11 +896,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.
         },
       ],
     },
@@ -896,6 +921,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.
@@ -929,10 +959,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
@@ -940,7 +971,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.
@@ -954,6 +1005,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,
@@ -980,31 +1048,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
@@ -1015,10 +1058,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
@@ -1038,13 +1093,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
@@ -1062,20 +1116,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.
@@ -1103,20 +1148,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
@@ -1213,13 +1263,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
@@ -1288,7 +1338,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",
     },
@@ -1335,9 +1385,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.
         },
       ],
     },
@@ -1356,13 +1406,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
@@ -1373,11 +1426,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.
@@ -1432,13 +1482,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
@@ -1449,11 +1502,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.
         },
       ],
     },
@@ -1477,6 +1527,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.
@@ -1510,10 +1565,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
@@ -1521,7 +1577,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.
@@ -1535,6 +1611,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,
@@ -1561,31 +1654,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
@@ -1596,10 +1664,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
@@ -1619,13 +1699,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
@@ -1643,20 +1722,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.
@@ -1684,20 +1754,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
@@ -1794,13 +1869,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
@@ -1894,8 +1969,8 @@
               # metric is associated with, such as the name of a step or collection.
               #
               # For example, built-in counters associated with steps will have
-              # context['step'] = <step-name>. Counters associated with PCollections
-              # in the SDK will have context['pcollection'] = <pcollection-name>.
+              # context['step'] = &lt;step-name&gt;. Counters associated with PCollections
+              # in the SDK will have context['pcollection'] = &lt;pcollection-name&gt;.
             "a_key": "A String",
           },
         },
@@ -1955,8 +2030,11 @@
 Returns:
   An object of the form:
 
-    { # Response to a request to list Cloud Dataflow jobs.  This may be a partial
-      # response, depending on the page size in the ListJobsRequest.
+    { # Response to a request to list Cloud Dataflow jobs in a project. This might
+      # be a partial response, depending on the page size in the ListJobsRequest.
+      # However, if the project does not have any jobs, an instance of
+      # ListJobsResponse is not returned and the requests's response
+      # body is empty {}.
     "nextPageToken": "A String", # Set if there may be more results than fit in this response.
     "failedLocation": [ # Zero or more messages describing the [regional endpoints]
         # (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
@@ -1978,7 +2056,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",
         },
@@ -2025,9 +2103,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.
             },
           ],
         },
@@ -2046,13 +2124,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
@@ -2063,11 +2144,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.
@@ -2122,13 +2200,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
@@ -2139,11 +2220,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.
             },
           ],
         },
@@ -2167,6 +2245,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.
@@ -2200,10 +2283,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
@@ -2211,7 +2295,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.
@@ -2225,6 +2329,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,
@@ -2251,31 +2372,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
@@ -2286,10 +2382,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
@@ -2309,13 +2417,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
@@ -2333,20 +2440,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.
@@ -2374,20 +2472,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
@@ -2484,13 +2587,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
@@ -2543,19 +2646,21 @@
 </div>
 
 <div class="method">
-    <code class="details" id="snapshot">snapshot(projectId, location, jobId, body, x__xgafv=None)</code>
+    <code class="details" id="snapshot">snapshot(projectId, location, jobId, body=None, x__xgafv=None)</code>
   <pre>Snapshot the state of a streaming job.
 
 Args:
   projectId: string, The project which owns the job to be snapshotted. (required)
   location: string, The location that contains this job. (required)
   jobId: string, The job to be snapshotted. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request to create a snapshot of a job.
     "location": "A String", # The location that contains this job.
     "ttl": "A String", # TTL for the snapshot.
+    "description": "A String", # User specified description of the snapshot. Maybe empty.
+    "snapshotSources": True or False, # If true, perform snapshots for sources which support this.
   }
 
   x__xgafv: string, V1 error format.
@@ -2568,16 +2673,26 @@
 
     { # Represents a snapshot of a job.
     "sourceJobId": "A String", # The job this snapshot was created from.
+    "diskSizeBytes": "A String", # The disk byte size of the snapshot. Only available for snapshots in READY
+        # state.
+    "description": "A String", # User specified description of the snapshot. Maybe empty.
     "projectId": "A String", # The project this snapshot belongs to.
     "creationTime": "A String", # The time this snapshot was created.
     "state": "A String", # State of the snapshot.
     "ttl": "A String", # The time after which this snapshot will be automatically deleted.
+    "pubsubMetadata": [ # PubSub snapshot metadata.
+      { # Represents a Pubsub snapshot.
+        "expireTime": "A String", # The expire time of the Pubsub snapshot.
+        "snapshotName": "A String", # The name of the Pubsub snapshot.
+        "topicName": "A String", # The name of the Pubsub topic.
+      },
+    ],
     "id": "A String", # The unique ID of this snapshot.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="update">update(projectId, location, jobId, body, x__xgafv=None)</code>
+    <code class="details" id="update">update(projectId, location, jobId, body=None, x__xgafv=None)</code>
   <pre>Updates the state of an existing Cloud Dataflow job.
 
 To update the state of an existing job, we recommend using
@@ -2592,7 +2707,7 @@
 (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
 contains this job. (required)
   jobId: string, The job ID. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Defines a job to be run by the Cloud Dataflow service.
@@ -2603,7 +2718,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",
   },
@@ -2650,9 +2765,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.
       },
     ],
   },
@@ -2671,13 +2786,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
@@ -2688,11 +2806,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.
@@ -2747,13 +2862,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
@@ -2764,11 +2882,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.
       },
     ],
   },
@@ -2792,6 +2907,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.
@@ -2825,10 +2945,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
@@ -2836,7 +2957,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.
@@ -2850,6 +2991,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,
@@ -2876,31 +3034,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
@@ -2911,10 +3044,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
@@ -2934,13 +3079,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
@@ -2958,20 +3102,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.
@@ -2999,20 +3134,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
@@ -3109,13 +3249,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
@@ -3166,7 +3306,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",
     },
@@ -3213,9 +3353,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.
         },
       ],
     },
@@ -3234,13 +3374,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
@@ -3251,11 +3394,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.
@@ -3310,13 +3450,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
@@ -3327,11 +3470,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.
         },
       ],
     },
@@ -3355,6 +3495,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.
@@ -3388,10 +3533,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
@@ -3399,7 +3545,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.
@@ -3413,6 +3579,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,
@@ -3439,31 +3622,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
@@ -3474,10 +3632,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
@@ -3497,13 +3667,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
@@ -3521,20 +3690,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.
@@ -3562,20 +3722,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
@@ -3672,13 +3837,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