docs: update generated docs (#981)

diff --git a/docs/dyn/osconfig_v1.projects.patchJobs.html b/docs/dyn/osconfig_v1.projects.patchJobs.html
index d38be45..2ae1249 100644
--- a/docs/dyn/osconfig_v1.projects.patchJobs.html
+++ b/docs/dyn/osconfig_v1.projects.patchJobs.html
@@ -89,7 +89,7 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Get the patch job. This can be used to track the progress of an</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, filter=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Get a list of patch jobs.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -119,22 +119,112 @@
     { # A high level representation of a patch job that is either in progress
       # or has completed.
       #
-      # Instances details are not included in the job. To paginate through instance
+      # Instance details are not included in the job. To paginate through instance
       # details, use ListPatchJobInstanceDetails.
       #
       # For more information about patch jobs, see
       # [Creating patch
       # jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
-    &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
-    &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
-        # finished without running any updates on the VM instance.
-    &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
+    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
+        # `projects/*/patchJobs/*`
     &quot;updateTime&quot;: &quot;A String&quot;, # Last time this patch job was updated.
-    &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
-    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
-        # failure.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob.
+    &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+        # job affects. Contains counts of instances in different states. These states
+        # map to `InstancePatchState`. List patch job instance details to see the
+        # specific states of each instance.
+      &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
+      &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
+      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
+      &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
+      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
+      &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
+      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
+      &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
+          # ensure that the agent is installed, running, and able to communicate with
+          # the service.
+      &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
+      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
+      &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
+      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
+      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
+      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
+    },
     &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
         # patch(es) to a VM instance.
+      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
+            # that will be updated. This field must not be used with other
+            # patch configurations.
+          &quot;A String&quot;,
+        ],
+        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
+            # updates are applied.
+          &quot;A String&quot;,
+        ],
+        &quot;excludes&quot;: [ # List of KBs to exclude from update.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+      },
+      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
+          # rules.
+          # can be set to control how this is executed.
+          #
+          # Note that not all settings are supported on all platforms.
+        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
+            # all platforms.
+        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
+            # using the yum `--exclude` flag.
+          &quot;A String&quot;,
+        ],
+        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
+            # that will be updated. If these packages are not installed, they will be
+            # ignored. This field must not be specified with any other patch
+            # configuration fields.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+          # rules.
+      },
       &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get # Apt update settings. Use this setting to override the default `apt` patch
           # rules.
           # upgrade`. Additional options can be set to control how this is executed.
@@ -150,91 +240,13 @@
         &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
             # using `apt-get dist-upgrade` instead.
       },
-      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
-          # rules.
-          # can be set to control how this is executed.
-          #
-          # Note that not all settings are supported on all platforms.
-        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
-        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
-            # using the yum `--exclude` flag.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
-            # that will be updated. If these packages are not installed, they will be
-            # ignored. This field must not be specified with any other patch
-            # configuration fields.
-          &quot;A String&quot;,
-        ],
-        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
-            # all platforms.
-      },
-      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
-          # rules.
-      },
       &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
-      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
-        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-      },
-      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        &quot;excludes&quot;: [ # List of KBs to exclude from update.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
-            # that will be updated. This field must not be used with other
-            # patch configurations.
-          &quot;A String&quot;,
-        ],
-        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
-            # updates are applied.
-          &quot;A String&quot;,
-        ],
-      },
       &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
           # patch rules.
           # See also https://en.opensuse.org/SDB:Zypper_manual.
-        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
-            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
-            # This field must not be used with any other patch configuration fields.
-          &quot;A String&quot;,
-        ],
         &quot;excludes&quot;: [ # List of patches to exclude from update.
           &quot;A String&quot;,
         ],
-        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
         &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
         &quot;severities&quot;: [ # Install only patches with these severities.
             # Common severities include critical, important, moderate, and low.
@@ -244,65 +256,60 @@
             # Common categories include security, recommended, and feature.
           &quot;A String&quot;,
         ],
+        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
+            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
+            # This field must not be used with any other patch configuration fields.
+          &quot;A String&quot;,
+        ],
+        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
       },
       &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
         &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
           &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
               # specified the script will be executed directly, which will likely
               # only succeed for scripts with [shebang lines]
               # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
         },
         &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
           &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
               # specified the script will be executed directly, which will likely
               # only succeed for scripts with [shebang lines]
               # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
         },
       },
     },
+    &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
     &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted # Instances to patch.
         # VMs must meet all criteria specified. So if both labels and zones are
         # specified, the patch job targets only VMs with those labels and in those
         # zones.
-      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
-          # permitted.
-      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
-          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
-          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
-          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
-        &quot;A String&quot;,
-      ],
       &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to
           # labels, this is another way to group VMs when targeting configs, for
           # example prefix=&quot;prod-&quot;.
         &quot;A String&quot;,
       ],
-      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
-          # instances in any zone.
-        &quot;A String&quot;,
-      ],
       &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows
           # targeting of disparate groups of VM instances.
         { # Targets a group of VM instances by using their [assigned
@@ -319,38 +326,63 @@
           },
         },
       ],
+      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
+          # instances in any zone.
+        &quot;A String&quot;,
+      ],
+      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
+          # permitted.
+      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
+          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+        &quot;A String&quot;,
+      ],
     },
-    &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
-        # patch job times out.
-    &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
-        # job affects. Contains counts of instances in different states. These states
-        # map to `InstancePatchState`. List patch job instance details to see the
-        # specific states of each instance.
-      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
-      &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
-      &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
-          # ensure that the agent is installed, running, and able to communicate with
-          # the service.
-      &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
-      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
-      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
-      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
-      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
-      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
-      &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
-      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
-      &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
-      &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
-      &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
-      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+    &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+        # concurrency control when applying patch(es) to all targeted VMs.
+      &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+          # moment. The number of VMs calculated from multiplying the percentage by the
+          # total number of VMs in a zone is rounded up.
+          #
+          # During patching, a VM is considered disrupted from the time the agent is
+          # notified to begin until patching has completed. This disruption time
+          # includes the time to complete reboot and any post-patch steps.
+          #
+          # A VM contributes to the disruption budget if its patching operation fails
+          # either when applying the patches, running pre or post patch steps, or if it
+          # fails to respond with a success notification before timing out. VMs that
+          # are not running or do not have an active agent do not count toward this
+          # disruption budget.
+          #
+          # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+          # the patch job stops, because continuing to the next zone requires
+          # completion of the patch process in the previous zone.
+          #
+          # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+          # fail to patch in the current zone, the patch job continues to patch 2 VMs
+          # at a time until the zone is completed. When that zone is completed
+          # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+          # VMs in the next zone fail to patch, the patch job stops.
+          # relative (&quot;percent&quot;) to a value.
+        &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be
+            # multiplied by a reference value.
+        &quot;fixed&quot;: 42, # Specifies a fixed value.
+      },
+      &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
     },
     &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
         # to 1024 characters.
+    &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
+        # patch job times out.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
+        # failure.
     &quot;percentComplete&quot;: 3.14, # Reflects the overall progress of the patch job in the range of
         # 0.0 being no progress to 100.0 being complete.
-    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob .
-    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
-        # `projects/*/patchJobs/*`
+    &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
+    &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
+    &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
+        # finished without running any updates on the VM instance.
   }</pre>
 </div>
 
@@ -366,182 +398,16 @@
 { # A request message to initiate patching across Compute Engine
       # instances.
     &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This does not have to be unique.
-    &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
-        # to 1024 characters.
-    &quot;dryRun&quot;: True or False, # If this patch is a dry-run only, instances are contacted but
-        # will do nothing.
-    &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied. If omitted, instances are
-        # patched using the default configurations.
-        # patch(es) to a VM instance.
-      &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get # Apt update settings. Use this setting to override the default `apt` patch
-          # rules.
-          # upgrade`. Additional options can be set to control how this is executed.
-        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
-            # that will be updated. If these packages are not installed, they will be
-            # ignored. This field cannot be specified with any other patch configuration
-            # fields.
-          &quot;A String&quot;,
-        ],
-        &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
-            # using `apt-get dist-upgrade` instead.
-      },
-      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
-          # rules.
-          # can be set to control how this is executed.
-          #
-          # Note that not all settings are supported on all platforms.
-        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
-        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
-            # using the yum `--exclude` flag.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
-            # that will be updated. If these packages are not installed, they will be
-            # ignored. This field must not be specified with any other patch
-            # configuration fields.
-          &quot;A String&quot;,
-        ],
-        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
-            # all platforms.
-      },
-      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
-          # rules.
-      },
-      &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
-      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
-        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-      },
-      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        &quot;excludes&quot;: [ # List of KBs to exclude from update.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
-            # that will be updated. This field must not be used with other
-            # patch configurations.
-          &quot;A String&quot;,
-        ],
-        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
-            # updates are applied.
-          &quot;A String&quot;,
-        ],
-      },
-      &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
-          # patch rules.
-          # See also https://en.opensuse.org/SDB:Zypper_manual.
-        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
-            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
-            # This field must not be used with any other patch configuration fields.
-          &quot;A String&quot;,
-        ],
-        &quot;excludes&quot;: [ # List of patches to exclude from update.
-          &quot;A String&quot;,
-        ],
-        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
-        &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
-        &quot;severities&quot;: [ # Install only patches with these severities.
-            # Common severities include critical, important, moderate, and low.
-          &quot;A String&quot;,
-        ],
-        &quot;categories&quot;: [ # Install only patches with these categories.
-            # Common categories include security, recommended, and feature.
-          &quot;A String&quot;,
-        ],
-      },
-      &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
-        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-      },
-    },
     &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted # Required. Instances to patch, either explicitly or filtered by some criteria such
         # as zone or labels.
         # VMs must meet all criteria specified. So if both labels and zones are
         # specified, the patch job targets only VMs with those labels and in those
         # zones.
-      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
-          # permitted.
-      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
-          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
-          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
-          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
-        &quot;A String&quot;,
-      ],
       &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to
           # labels, this is another way to group VMs when targeting configs, for
           # example prefix=&quot;prod-&quot;.
         &quot;A String&quot;,
       ],
-      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
-          # instances in any zone.
-        &quot;A String&quot;,
-      ],
       &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows
           # targeting of disparate groups of VM instances.
         { # Targets a group of VM instances by using their [assigned
@@ -558,9 +424,207 @@
           },
         },
       ],
+      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
+          # instances in any zone.
+        &quot;A String&quot;,
+      ],
+      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
+          # permitted.
+      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
+          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+        &quot;A String&quot;,
+      ],
     },
     &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the patch job
         # times out.
+    &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the # Rollout strategy of the patch job.
+        # concurrency control when applying patch(es) to all targeted VMs.
+      &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+          # moment. The number of VMs calculated from multiplying the percentage by the
+          # total number of VMs in a zone is rounded up.
+          #
+          # During patching, a VM is considered disrupted from the time the agent is
+          # notified to begin until patching has completed. This disruption time
+          # includes the time to complete reboot and any post-patch steps.
+          #
+          # A VM contributes to the disruption budget if its patching operation fails
+          # either when applying the patches, running pre or post patch steps, or if it
+          # fails to respond with a success notification before timing out. VMs that
+          # are not running or do not have an active agent do not count toward this
+          # disruption budget.
+          #
+          # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+          # the patch job stops, because continuing to the next zone requires
+          # completion of the patch process in the previous zone.
+          #
+          # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+          # fail to patch in the current zone, the patch job continues to patch 2 VMs
+          # at a time until the zone is completed. When that zone is completed
+          # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+          # VMs in the next zone fail to patch, the patch job stops.
+          # relative (&quot;percent&quot;) to a value.
+        &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be
+            # multiplied by a reference value.
+        &quot;fixed&quot;: 42, # Specifies a fixed value.
+      },
+      &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
+    },
+    &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied. If omitted, instances are
+        # patched using the default configurations.
+        # patch(es) to a VM instance.
+      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
+            # that will be updated. This field must not be used with other
+            # patch configurations.
+          &quot;A String&quot;,
+        ],
+        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
+            # updates are applied.
+          &quot;A String&quot;,
+        ],
+        &quot;excludes&quot;: [ # List of KBs to exclude from update.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+      },
+      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
+          # rules.
+          # can be set to control how this is executed.
+          #
+          # Note that not all settings are supported on all platforms.
+        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
+            # all platforms.
+        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
+            # using the yum `--exclude` flag.
+          &quot;A String&quot;,
+        ],
+        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
+            # that will be updated. If these packages are not installed, they will be
+            # ignored. This field must not be specified with any other patch
+            # configuration fields.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+          # rules.
+      },
+      &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get # Apt update settings. Use this setting to override the default `apt` patch
+          # rules.
+          # upgrade`. Additional options can be set to control how this is executed.
+        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+          &quot;A String&quot;,
+        ],
+        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
+            # that will be updated. If these packages are not installed, they will be
+            # ignored. This field cannot be specified with any other patch configuration
+            # fields.
+          &quot;A String&quot;,
+        ],
+        &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
+            # using `apt-get dist-upgrade` instead.
+      },
+      &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
+      &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
+          # patch rules.
+          # See also https://en.opensuse.org/SDB:Zypper_manual.
+        &quot;excludes&quot;: [ # List of patches to exclude from update.
+          &quot;A String&quot;,
+        ],
+        &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+        &quot;severities&quot;: [ # Install only patches with these severities.
+            # Common severities include critical, important, moderate, and low.
+          &quot;A String&quot;,
+        ],
+        &quot;categories&quot;: [ # Install only patches with these categories.
+            # Common categories include security, recommended, and feature.
+          &quot;A String&quot;,
+        ],
+        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
+            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
+            # This field must not be used with any other patch configuration fields.
+          &quot;A String&quot;,
+        ],
+        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+      },
+      &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+      },
+    },
+    &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
+        # to 1024 characters.
+    &quot;dryRun&quot;: True or False, # If this patch is a dry-run only, instances are contacted but
+        # will do nothing.
   }
 
   x__xgafv: string, V1 error format.
@@ -574,22 +638,112 @@
     { # A high level representation of a patch job that is either in progress
       # or has completed.
       #
-      # Instances details are not included in the job. To paginate through instance
+      # Instance details are not included in the job. To paginate through instance
       # details, use ListPatchJobInstanceDetails.
       #
       # For more information about patch jobs, see
       # [Creating patch
       # jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
-    &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
-    &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
-        # finished without running any updates on the VM instance.
-    &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
+    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
+        # `projects/*/patchJobs/*`
     &quot;updateTime&quot;: &quot;A String&quot;, # Last time this patch job was updated.
-    &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
-    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
-        # failure.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob.
+    &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+        # job affects. Contains counts of instances in different states. These states
+        # map to `InstancePatchState`. List patch job instance details to see the
+        # specific states of each instance.
+      &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
+      &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
+      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
+      &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
+      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
+      &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
+      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
+      &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
+          # ensure that the agent is installed, running, and able to communicate with
+          # the service.
+      &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
+      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
+      &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
+      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
+      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
+      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
+    },
     &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
         # patch(es) to a VM instance.
+      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
+            # that will be updated. This field must not be used with other
+            # patch configurations.
+          &quot;A String&quot;,
+        ],
+        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
+            # updates are applied.
+          &quot;A String&quot;,
+        ],
+        &quot;excludes&quot;: [ # List of KBs to exclude from update.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+      },
+      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
+          # rules.
+          # can be set to control how this is executed.
+          #
+          # Note that not all settings are supported on all platforms.
+        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
+            # all platforms.
+        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
+            # using the yum `--exclude` flag.
+          &quot;A String&quot;,
+        ],
+        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
+            # that will be updated. If these packages are not installed, they will be
+            # ignored. This field must not be specified with any other patch
+            # configuration fields.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+          # rules.
+      },
       &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get # Apt update settings. Use this setting to override the default `apt` patch
           # rules.
           # upgrade`. Additional options can be set to control how this is executed.
@@ -605,91 +759,13 @@
         &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
             # using `apt-get dist-upgrade` instead.
       },
-      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
-          # rules.
-          # can be set to control how this is executed.
-          #
-          # Note that not all settings are supported on all platforms.
-        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
-        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
-            # using the yum `--exclude` flag.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
-            # that will be updated. If these packages are not installed, they will be
-            # ignored. This field must not be specified with any other patch
-            # configuration fields.
-          &quot;A String&quot;,
-        ],
-        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
-            # all platforms.
-      },
-      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
-          # rules.
-      },
       &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
-      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
-        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-      },
-      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        &quot;excludes&quot;: [ # List of KBs to exclude from update.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
-            # that will be updated. This field must not be used with other
-            # patch configurations.
-          &quot;A String&quot;,
-        ],
-        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
-            # updates are applied.
-          &quot;A String&quot;,
-        ],
-      },
       &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
           # patch rules.
           # See also https://en.opensuse.org/SDB:Zypper_manual.
-        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
-            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
-            # This field must not be used with any other patch configuration fields.
-          &quot;A String&quot;,
-        ],
         &quot;excludes&quot;: [ # List of patches to exclude from update.
           &quot;A String&quot;,
         ],
-        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
         &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
         &quot;severities&quot;: [ # Install only patches with these severities.
             # Common severities include critical, important, moderate, and low.
@@ -699,65 +775,60 @@
             # Common categories include security, recommended, and feature.
           &quot;A String&quot;,
         ],
+        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
+            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
+            # This field must not be used with any other patch configuration fields.
+          &quot;A String&quot;,
+        ],
+        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
       },
       &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
         &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
           &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
               # specified the script will be executed directly, which will likely
               # only succeed for scripts with [shebang lines]
               # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
         },
         &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
           &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
               # specified the script will be executed directly, which will likely
               # only succeed for scripts with [shebang lines]
               # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
         },
       },
     },
+    &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
     &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted # Instances to patch.
         # VMs must meet all criteria specified. So if both labels and zones are
         # specified, the patch job targets only VMs with those labels and in those
         # zones.
-      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
-          # permitted.
-      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
-          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
-          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
-          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
-        &quot;A String&quot;,
-      ],
       &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to
           # labels, this is another way to group VMs when targeting configs, for
           # example prefix=&quot;prod-&quot;.
         &quot;A String&quot;,
       ],
-      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
-          # instances in any zone.
-        &quot;A String&quot;,
-      ],
       &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows
           # targeting of disparate groups of VM instances.
         { # Targets a group of VM instances by using their [assigned
@@ -774,38 +845,63 @@
           },
         },
       ],
+      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
+          # instances in any zone.
+        &quot;A String&quot;,
+      ],
+      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
+          # permitted.
+      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
+          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+        &quot;A String&quot;,
+      ],
     },
-    &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
-        # patch job times out.
-    &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
-        # job affects. Contains counts of instances in different states. These states
-        # map to `InstancePatchState`. List patch job instance details to see the
-        # specific states of each instance.
-      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
-      &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
-      &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
-          # ensure that the agent is installed, running, and able to communicate with
-          # the service.
-      &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
-      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
-      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
-      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
-      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
-      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
-      &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
-      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
-      &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
-      &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
-      &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
-      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+    &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+        # concurrency control when applying patch(es) to all targeted VMs.
+      &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+          # moment. The number of VMs calculated from multiplying the percentage by the
+          # total number of VMs in a zone is rounded up.
+          #
+          # During patching, a VM is considered disrupted from the time the agent is
+          # notified to begin until patching has completed. This disruption time
+          # includes the time to complete reboot and any post-patch steps.
+          #
+          # A VM contributes to the disruption budget if its patching operation fails
+          # either when applying the patches, running pre or post patch steps, or if it
+          # fails to respond with a success notification before timing out. VMs that
+          # are not running or do not have an active agent do not count toward this
+          # disruption budget.
+          #
+          # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+          # the patch job stops, because continuing to the next zone requires
+          # completion of the patch process in the previous zone.
+          #
+          # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+          # fail to patch in the current zone, the patch job continues to patch 2 VMs
+          # at a time until the zone is completed. When that zone is completed
+          # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+          # VMs in the next zone fail to patch, the patch job stops.
+          # relative (&quot;percent&quot;) to a value.
+        &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be
+            # multiplied by a reference value.
+        &quot;fixed&quot;: 42, # Specifies a fixed value.
+      },
+      &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
     },
     &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
         # to 1024 characters.
+    &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
+        # patch job times out.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
+        # failure.
     &quot;percentComplete&quot;: 3.14, # Reflects the overall progress of the patch job in the range of
         # 0.0 being no progress to 100.0 being complete.
-    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob .
-    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
-        # `projects/*/patchJobs/*`
+    &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
+    &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
+    &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
+        # finished without running any updates on the VM instance.
   }</pre>
 </div>
 
@@ -827,22 +923,112 @@
     { # A high level representation of a patch job that is either in progress
       # or has completed.
       #
-      # Instances details are not included in the job. To paginate through instance
+      # Instance details are not included in the job. To paginate through instance
       # details, use ListPatchJobInstanceDetails.
       #
       # For more information about patch jobs, see
       # [Creating patch
       # jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
-    &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
-    &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
-        # finished without running any updates on the VM instance.
-    &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
+    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
+        # `projects/*/patchJobs/*`
     &quot;updateTime&quot;: &quot;A String&quot;, # Last time this patch job was updated.
-    &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
-    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
-        # failure.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob.
+    &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+        # job affects. Contains counts of instances in different states. These states
+        # map to `InstancePatchState`. List patch job instance details to see the
+        # specific states of each instance.
+      &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
+      &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
+      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
+      &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
+      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
+      &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
+      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
+      &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
+          # ensure that the agent is installed, running, and able to communicate with
+          # the service.
+      &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
+      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
+      &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
+      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
+      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
+      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
+    },
     &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
         # patch(es) to a VM instance.
+      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
+            # that will be updated. This field must not be used with other
+            # patch configurations.
+          &quot;A String&quot;,
+        ],
+        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
+            # updates are applied.
+          &quot;A String&quot;,
+        ],
+        &quot;excludes&quot;: [ # List of KBs to exclude from update.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+              # specified the script will be executed directly, which will likely
+              # only succeed for scripts with [shebang lines]
+              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+        },
+      },
+      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
+          # rules.
+          # can be set to control how this is executed.
+          #
+          # Note that not all settings are supported on all platforms.
+        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
+            # all platforms.
+        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
+            # using the yum `--exclude` flag.
+          &quot;A String&quot;,
+        ],
+        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
+            # that will be updated. If these packages are not installed, they will be
+            # ignored. This field must not be specified with any other patch
+            # configuration fields.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+          # rules.
+      },
       &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get # Apt update settings. Use this setting to override the default `apt` patch
           # rules.
           # upgrade`. Additional options can be set to control how this is executed.
@@ -858,91 +1044,13 @@
         &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
             # using `apt-get dist-upgrade` instead.
       },
-      &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
-          # rules.
-          # can be set to control how this is executed.
-          #
-          # Note that not all settings are supported on all platforms.
-        &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
-        &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
-            # using the yum `--exclude` flag.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
-            # that will be updated. If these packages are not installed, they will be
-            # ignored. This field must not be specified with any other patch
-            # configuration fields.
-          &quot;A String&quot;,
-        ],
-        &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
-            # all platforms.
-      },
-      &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
-          # rules.
-      },
       &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
-      &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
-        &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-        &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-              # specified the script will be executed directly, which will likely
-              # only succeed for scripts with [shebang lines]
-              # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-        },
-      },
-      &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        &quot;excludes&quot;: [ # List of KBs to exclude from update.
-          &quot;A String&quot;,
-        ],
-        &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
-            # that will be updated. This field must not be used with other
-            # patch configurations.
-          &quot;A String&quot;,
-        ],
-        &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
-            # updates are applied.
-          &quot;A String&quot;,
-        ],
-      },
       &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
           # patch rules.
           # See also https://en.opensuse.org/SDB:Zypper_manual.
-        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
-            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
-            # This field must not be used with any other patch configuration fields.
-          &quot;A String&quot;,
-        ],
         &quot;excludes&quot;: [ # List of patches to exclude from update.
           &quot;A String&quot;,
         ],
-        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
         &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
         &quot;severities&quot;: [ # Install only patches with these severities.
             # Common severities include critical, important, moderate, and low.
@@ -952,65 +1060,60 @@
             # Common categories include security, recommended, and feature.
           &quot;A String&quot;,
         ],
+        &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
+            # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
+            # This field must not be used with any other patch configuration fields.
+          &quot;A String&quot;,
+        ],
+        &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
       },
       &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
         &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
           &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
               # specified the script will be executed directly, which will likely
               # only succeed for scripts with [shebang lines]
               # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
         },
         &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
           &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
               # specified the script will be executed directly, which will likely
               # only succeed for scripts with [shebang lines]
               # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+          &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
         },
       },
     },
+    &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
     &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted # Instances to patch.
         # VMs must meet all criteria specified. So if both labels and zones are
         # specified, the patch job targets only VMs with those labels and in those
         # zones.
-      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
-          # permitted.
-      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
-          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
-          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
-          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
-        &quot;A String&quot;,
-      ],
       &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to
           # labels, this is another way to group VMs when targeting configs, for
           # example prefix=&quot;prod-&quot;.
         &quot;A String&quot;,
       ],
-      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
-          # instances in any zone.
-        &quot;A String&quot;,
-      ],
       &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows
           # targeting of disparate groups of VM instances.
         { # Targets a group of VM instances by using their [assigned
@@ -1027,53 +1130,78 @@
           },
         },
       ],
+      &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
+          # instances in any zone.
+        &quot;A String&quot;,
+      ],
+      &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
+          # permitted.
+      &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
+          # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+          # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+          # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+        &quot;A String&quot;,
+      ],
     },
-    &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
-        # patch job times out.
-    &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
-        # job affects. Contains counts of instances in different states. These states
-        # map to `InstancePatchState`. List patch job instance details to see the
-        # specific states of each instance.
-      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
-      &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
-      &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
-          # ensure that the agent is installed, running, and able to communicate with
-          # the service.
-      &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
-      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
-      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
-      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
-      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
-      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
-      &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
-      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
-      &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
-      &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
-      &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
-      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+    &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+        # concurrency control when applying patch(es) to all targeted VMs.
+      &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+          # moment. The number of VMs calculated from multiplying the percentage by the
+          # total number of VMs in a zone is rounded up.
+          #
+          # During patching, a VM is considered disrupted from the time the agent is
+          # notified to begin until patching has completed. This disruption time
+          # includes the time to complete reboot and any post-patch steps.
+          #
+          # A VM contributes to the disruption budget if its patching operation fails
+          # either when applying the patches, running pre or post patch steps, or if it
+          # fails to respond with a success notification before timing out. VMs that
+          # are not running or do not have an active agent do not count toward this
+          # disruption budget.
+          #
+          # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+          # the patch job stops, because continuing to the next zone requires
+          # completion of the patch process in the previous zone.
+          #
+          # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+          # fail to patch in the current zone, the patch job continues to patch 2 VMs
+          # at a time until the zone is completed. When that zone is completed
+          # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+          # VMs in the next zone fail to patch, the patch job stops.
+          # relative (&quot;percent&quot;) to a value.
+        &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be
+            # multiplied by a reference value.
+        &quot;fixed&quot;: 42, # Specifies a fixed value.
+      },
+      &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
     },
     &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
         # to 1024 characters.
+    &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
+        # patch job times out.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
+        # failure.
     &quot;percentComplete&quot;: 3.14, # Reflects the overall progress of the patch job in the range of
         # 0.0 being no progress to 100.0 being complete.
-    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob .
-    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
-        # `projects/*/patchJobs/*`
+    &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
+    &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
+    &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
+        # finished without running any updates on the VM instance.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, filter=None, x__xgafv=None)</code>
   <pre>Get a list of patch jobs.
 
 Args:
   parent: string, Required. In the form of `projects/*` (required)
+  pageSize: integer, The maximum number of instance status to return.
+  pageToken: string, A pagination token returned from a previous call
+that indicates where this listing should continue from.
   filter: string, If provided, this field specifies the criteria that must be met by patch
 jobs to be included in the response.
 Currently, filtering is only available on the patch_deployment field.
-  pageToken: string, A pagination token returned from a previous call
-that indicates where this listing should continue from.
-  pageSize: integer, The maximum number of instance status to return.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1087,22 +1215,112 @@
       { # A high level representation of a patch job that is either in progress
           # or has completed.
           #
-          # Instances details are not included in the job. To paginate through instance
+          # Instance details are not included in the job. To paginate through instance
           # details, use ListPatchJobInstanceDetails.
           #
           # For more information about patch jobs, see
           # [Creating patch
           # jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
-        &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
-        &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
-            # finished without running any updates on the VM instance.
-        &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
+        &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
+            # `projects/*/patchJobs/*`
         &quot;updateTime&quot;: &quot;A String&quot;, # Last time this patch job was updated.
-        &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
-        &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
-            # failure.
+        &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob.
+        &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+            # job affects. Contains counts of instances in different states. These states
+            # map to `InstancePatchState`. List patch job instance details to see the
+            # specific states of each instance.
+          &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
+          &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
+          &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
+          &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
+          &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
+          &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
+          &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
+          &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
+              # ensure that the agent is installed, running, and able to communicate with
+              # the service.
+          &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
+          &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
+          &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
+          &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+          &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
+          &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
+          &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
+        },
         &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
             # patch(es) to a VM instance.
+          &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+            &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
+                # that will be updated. This field must not be used with other
+                # patch configurations.
+              &quot;A String&quot;,
+            ],
+            &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
+                # updates are applied.
+              &quot;A String&quot;,
+            ],
+            &quot;excludes&quot;: [ # List of KBs to exclude from update.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+            &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+              &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+                  # specified the script will be executed directly, which will likely
+                  # only succeed for scripts with [shebang lines]
+                  # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                    # ensure that the ExecStep specified by this PatchJob does not change.
+              },
+              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+                  # execution can return to indicate a success.
+                42,
+              ],
+              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+            },
+            &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+              &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
+                  # specified the script will be executed directly, which will likely
+                  # only succeed for scripts with [shebang lines]
+                  # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                    # ensure that the ExecStep specified by this PatchJob does not change.
+              },
+              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+                  # execution can return to indicate a success.
+                42,
+              ],
+              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+            },
+          },
+          &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
+              # rules.
+              # can be set to control how this is executed.
+              #
+              # Note that not all settings are supported on all platforms.
+            &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+            &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
+                # all platforms.
+            &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
+                # using the yum `--exclude` flag.
+              &quot;A String&quot;,
+            ],
+            &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
+                # that will be updated. If these packages are not installed, they will be
+                # ignored. This field must not be specified with any other patch
+                # configuration fields.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+              # rules.
+          },
           &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get # Apt update settings. Use this setting to override the default `apt` patch
               # rules.
               # upgrade`. Additional options can be set to control how this is executed.
@@ -1118,91 +1336,13 @@
             &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
                 # using `apt-get dist-upgrade` instead.
           },
-          &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
-              # rules.
-              # can be set to control how this is executed.
-              #
-              # Note that not all settings are supported on all platforms.
-            &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
-            &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by
-                # using the yum `--exclude` flag.
-              &quot;A String&quot;,
-            ],
-            &quot;exclusivePackages&quot;: [ # An exclusive list of packages to be updated. These are the only packages
-                # that will be updated. If these packages are not installed, they will be
-                # ignored. This field must not be specified with any other patch
-                # configuration fields.
-              &quot;A String&quot;,
-            ],
-            &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on
-                # all platforms.
-          },
-          &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
-              # rules.
-          },
           &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
-          &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
-            &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-                  # execution can return to indicate a success.
-                42,
-              ],
-              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                    # ensure that the ExecStep specified by this PatchJob does not change.
-              },
-              &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-                  # specified the script will be executed directly, which will likely
-                  # only succeed for scripts with [shebang lines]
-                  # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-            },
-            &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-                  # execution can return to indicate a success.
-                42,
-              ],
-              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                    # ensure that the ExecStep specified by this PatchJob does not change.
-              },
-              &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
-                  # specified the script will be executed directly, which will likely
-                  # only succeed for scripts with [shebang lines]
-                  # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
-            },
-          },
-          &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-            &quot;excludes&quot;: [ # List of KBs to exclude from update.
-              &quot;A String&quot;,
-            ],
-            &quot;exclusivePatches&quot;: [ # An exclusive list of kbs to be updated. These are the only patches
-                # that will be updated. This field must not be used with other
-                # patch configurations.
-              &quot;A String&quot;,
-            ],
-            &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all
-                # updates are applied.
-              &quot;A String&quot;,
-            ],
-          },
           &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
               # patch rules.
               # See also https://en.opensuse.org/SDB:Zypper_manual.
-            &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
-                # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
-                # This field must not be used with any other patch configuration fields.
-              &quot;A String&quot;,
-            ],
             &quot;excludes&quot;: [ # List of patches to exclude from update.
               &quot;A String&quot;,
             ],
-            &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
             &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
             &quot;severities&quot;: [ # Install only patches with these severities.
                 # Common severities include critical, important, moderate, and low.
@@ -1212,65 +1352,60 @@
                 # Common categories include security, recommended, and feature.
               &quot;A String&quot;,
             ],
+            &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches
+                # that will be installed using &#x27;zypper patch patch:&lt;patch_name&gt;&#x27; command.
+                # This field must not be used with any other patch configuration fields.
+              &quot;A String&quot;,
+            ],
+            &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
           },
           &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
             &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-                  # execution can return to indicate a success.
-                42,
-              ],
-              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                    # ensure that the ExecStep specified by this PatchJob does not change.
-              },
               &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
                   # specified the script will be executed directly, which will likely
                   # only succeed for scripts with [shebang lines]
                   # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                    # ensure that the ExecStep specified by this PatchJob does not change.
+              },
+              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+                  # execution can return to indicate a success.
+                42,
+              ],
+              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
             },
             &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
-              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
-                  # execution can return to indicate a success.
-                42,
-              ],
-              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
-                    # ensure that the ExecStep specified by this PatchJob does not change.
-              },
               &quot;interpreter&quot;: &quot;A String&quot;, # The script interpreter to use to run the script. If no interpreter is
                   # specified the script will be executed directly, which will likely
                   # only succeed for scripts with [shebang lines]
                   # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+              &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to
+                    # ensure that the ExecStep specified by this PatchJob does not change.
+              },
+              &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the
+                  # execution can return to indicate a success.
+                42,
+              ],
+              &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
             },
           },
         },
+        &quot;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
         &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted # Instances to patch.
             # VMs must meet all criteria specified. So if both labels and zones are
             # specified, the patch job targets only VMs with those labels and in those
             # zones.
-          &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
-              # permitted.
-          &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
-              # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
-              # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
-              # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
-            &quot;A String&quot;,
-          ],
           &quot;instanceNamePrefixes&quot;: [ # Targets VMs whose name starts with one of these prefixes. Similar to
               # labels, this is another way to group VMs when targeting configs, for
               # example prefix=&quot;prod-&quot;.
             &quot;A String&quot;,
           ],
-          &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
-              # instances in any zone.
-            &quot;A String&quot;,
-          ],
           &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows
               # targeting of disparate groups of VM instances.
             { # Targets a group of VM instances by using their [assigned
@@ -1287,38 +1422,63 @@
               },
             },
           ],
+          &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
+              # instances in any zone.
+            &quot;A String&quot;,
+          ],
+          &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is
+              # permitted.
+          &quot;instances&quot;: [ # Targets any of the VM instances specified. Instances are specified by their
+              # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+              # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+              # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+            &quot;A String&quot;,
+          ],
         },
-        &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
-            # patch job times out.
-        &quot;instanceDetailsSummary&quot;: { # A summary of the current patch state across all instances that this patch # Summary of instance details.
-            # job affects. Contains counts of instances in different states. These states
-            # map to `InstancePatchState`. List patch job instance details to see the
-            # specific states of each instance.
-          &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
-          &quot;prePatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the pre-patch step.
-          &quot;noAgentDetectedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that do not appear to be running the agent. Check to
-              # ensure that the agent is installed, running, and able to communicate with
-              # the service.
-          &quot;failedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that failed.
-          &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
-          &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
-          &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
-          &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
-          &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
-          &quot;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
-          &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
-          &quot;ackedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have acked and will start shortly.
-          &quot;applyingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are applying patches.
-          &quot;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
-          &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+        &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+            # concurrency control when applying patch(es) to all targeted VMs.
+          &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+              # moment. The number of VMs calculated from multiplying the percentage by the
+              # total number of VMs in a zone is rounded up.
+              #
+              # During patching, a VM is considered disrupted from the time the agent is
+              # notified to begin until patching has completed. This disruption time
+              # includes the time to complete reboot and any post-patch steps.
+              #
+              # A VM contributes to the disruption budget if its patching operation fails
+              # either when applying the patches, running pre or post patch steps, or if it
+              # fails to respond with a success notification before timing out. VMs that
+              # are not running or do not have an active agent do not count toward this
+              # disruption budget.
+              #
+              # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+              # the patch job stops, because continuing to the next zone requires
+              # completion of the patch process in the previous zone.
+              #
+              # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+              # fail to patch in the current zone, the patch job continues to patch 2 VMs
+              # at a time until the zone is completed. When that zone is completed
+              # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+              # VMs in the next zone fail to patch, the patch job stops.
+              # relative (&quot;percent&quot;) to a value.
+            &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be
+                # multiplied by a reference value.
+            &quot;fixed&quot;: 42, # Specifies a fixed value.
+          },
+          &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
         },
         &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
             # to 1024 characters.
+        &quot;duration&quot;: &quot;A String&quot;, # Duration of the patch job. After the duration ends, the
+            # patch job times out.
+        &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
+            # failure.
         &quot;percentComplete&quot;: 3.14, # Reflects the overall progress of the patch job in the range of
             # 0.0 being no progress to 100.0 being complete.
-        &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob .
-        &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
-            # `projects/*/patchJobs/*`
+        &quot;patchDeployment&quot;: &quot;A String&quot;, # Output only. Name of the patch deployment that created this patch job.
+        &quot;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This is not a unique identifier.
+        &quot;dryRun&quot;: True or False, # If this patch job is a dry run, the agent reports that it has
+            # finished without running any updates on the VM instance.
       },
     ],
     &quot;nextPageToken&quot;: &quot;A String&quot;, # A pagination token that can be used to get the next page of results.