docs: update generated docs (#981)

diff --git a/docs/dyn/osconfig_v1beta.projects.patchJobs.html b/docs/dyn/osconfig_v1beta.projects.patchJobs.html
index 3b5c1cd..bfb2878 100644
--- a/docs/dyn/osconfig_v1beta.projects.patchJobs.html
+++ b/docs/dyn/osconfig_v1beta.projects.patchJobs.html
@@ -119,232 +119,264 @@
     { # 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
-      # details, use ListPatchJobInstanceDetails.
+      # 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).
-    "state": "A String", # The current state of the PatchJob .
-    "name": "A String", # Unique identifier for this patch job in the form
-        # `projects/*/patchJobs/*`
     "displayName": "A String", # Display name for this patch job. This is not a unique identifier.
-    "dryRun": 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.
-    "createTime": "A String", # Time this patch job was created.
-    "updateTime": "A String", # Last time this patch job was updated.
     "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
-    "errorMessage": "A String", # If this patch job failed, this message provides information about the
-        # failure.
+    "duration": "A String", # Duration of the patch job. After the duration ends, the
+        # patch job times out.
+    "rollout": { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+        # concurrency control when applying patch(es) to all targeted VMs.
+      "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") 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 ("percent") to a value.
+        "percent": 42, # Specifies the relative value defined as a percentage, which will be
+            # multiplied by a reference value.
+        "fixed": 42, # Specifies a fixed value.
+      },
+      "mode": "A String", # Mode of the patch rollout.
+    },
     "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
         # patch(es) to a VM instance.
-      "preStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
-        "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
-            "object": "A String", # Required. Name of the Google Cloud Storage object.
-            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          "interpreter": "A String", # 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\)).
-          "localPath": "A String", # An absolute path to the executable on the VM.
-          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-        },
-        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
-            "object": "A String", # Required. Name of the Google Cloud Storage object.
-            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          "interpreter": "A String", # 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\)).
-          "localPath": "A String", # An absolute path to the executable on the VM.
-          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-        },
-      },
-      "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        "classifications": [ # Only apply updates of these windows update classifications. If empty, all
-            # updates are applied.
-          "A String",
-        ],
-        "excludes": [ # List of KBs to exclude from update.
-          "A String",
-        ],
-        "exclusivePatches": [ # 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.
-          "A String",
-        ],
-      },
-      "zypper": { # 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.
-        "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
-        "withOptional": True or False, # Adds the `--with-optional` flag to `zypper patch`.
-        "severities": [ # Install only patches with these severities.
-            # Common severities include critical, important, moderate, and low.
-          "A String",
-        ],
-        "categories": [ # Install only patches with these categories.
-            # Common categories include security, recommended, and feature.
-          "A String",
-        ],
-        "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches
-            # that will be installed using 'zypper patch patch:<patch_name>' command.
-            # This field must not be used with any other patch configuration fields.
-          "A String",
-        ],
-        "excludes": [ # List of patches to exclude from update.
-          "A String",
-        ],
-      },
-      "postStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
-        "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
-          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
-            "object": "A String", # Required. Name of the Google Cloud Storage object.
-            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          "interpreter": "A String", # 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\)).
-          "localPath": "A String", # An absolute path to the executable on the VM.
-          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-        },
-        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
-            "object": "A String", # Required. Name of the Google Cloud Storage object.
-            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
-                # ensure that the ExecStep specified by this PatchJob does not change.
-          },
-          "interpreter": "A String", # 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\)).
-          "localPath": "A String", # An absolute path to the executable on the VM.
-          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
-              # execution can return to indicate a success.
-            42,
-          ],
-        },
-      },
       "yum": { # 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.
+        "excludes": [ # List of packages to exclude from update. These packages are excluded by
+            # using the yum `--exclude` flag.
+          "A String",
+        ],
         "exclusivePackages": [ # 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.
           "A String",
         ],
+        "minimal": True or False, # Will cause patch to run `yum update-minimal` instead.
         "security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
             # all platforms.
-        "minimal": True or False, # Will cause patch to run `yum update-minimal` instead.
-        "excludes": [ # List of packages to exclude from update. These packages are excluded by
-            # using the yum `--exclude` flag.
-          "A String",
-        ],
       },
+      "postStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+          "interpreter": "A String", # 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\)).
+          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            "object": "A String", # Required. Name of the Google Cloud Storage object.
+            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          "localPath": "A String", # An absolute path to the executable on the VM.
+        },
+        "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+          "interpreter": "A String", # 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\)).
+          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            "object": "A String", # Required. Name of the Google Cloud Storage object.
+            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          "localPath": "A String", # An absolute path to the executable on the VM.
+        },
+      },
+      "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+          # rules.
+      },
+      "rebootConfig": "A String", # Post-patch reboot settings.
       "apt": { # Apt patching is completed by executing `apt-get update && 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.
-        "type": "A String", # By changing the type to DIST, the patching is performed
-            # using `apt-get dist-upgrade` instead.
-        "excludes": [ # List of packages to exclude from update. These packages will be excluded
-          "A String",
-        ],
         "exclusivePackages": [ # 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.
           "A String",
         ],
+        "type": "A String", # By changing the type to DIST, the patching is performed
+            # using `apt-get dist-upgrade` instead.
+        "excludes": [ # List of packages to exclude from update. These packages will be excluded
+          "A String",
+        ],
       },
-      "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
-          # rules.
+      "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+        "exclusivePatches": [ # 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.
+          "A String",
+        ],
+        "excludes": [ # List of KBs to exclude from update.
+          "A String",
+        ],
+        "classifications": [ # Only apply updates of these windows update classifications. If empty, all
+            # updates are applied.
+          "A String",
+        ],
       },
-      "rebootConfig": "A String", # Post-patch reboot settings.
+      "preStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+          "interpreter": "A String", # 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\)).
+          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            "object": "A String", # Required. Name of the Google Cloud Storage object.
+            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          "localPath": "A String", # An absolute path to the executable on the VM.
+        },
+        "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+          "interpreter": "A String", # 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\)).
+          "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            "object": "A String", # Required. Name of the Google Cloud Storage object.
+            "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+            "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+                # ensure that the ExecStep specified by this PatchJob does not change.
+          },
+          "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+              # execution can return to indicate a success.
+            42,
+          ],
+          "localPath": "A String", # An absolute path to the executable on the VM.
+        },
+      },
+      "zypper": { # 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.
+        "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches
+            # that will be installed using 'zypper patch patch:<patch_name>' command.
+            # This field must not be used with any other patch configuration fields.
+          "A String",
+        ],
+        "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
+        "excludes": [ # List of patches to exclude from update.
+          "A String",
+        ],
+        "severities": [ # Install only patches with these severities.
+            # Common severities include critical, important, moderate, and low.
+          "A String",
+        ],
+        "withOptional": True or False, # Adds the `--with-optional` flag to `zypper patch`.
+        "categories": [ # Install only patches with these categories.
+            # Common categories include security, recommended, and feature.
+          "A String",
+        ],
+      },
     },
+    "instanceDetailsSummary": { # 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.
+      "failedInstanceCount": "A String", # Number of instances that failed.
+      "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
+      "noAgentDetectedInstanceCount": "A String", # 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.
+      "startedInstanceCount": "A String", # Number of instances that have started.
+      "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
+      "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
+      "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
+      "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
+      "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
+      "rebootingInstanceCount": "A String", # Number of instances rebooting.
+      "pendingInstanceCount": "A String", # Number of instances pending patch job.
+      "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
+      "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
+      "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
+      "inactiveInstanceCount": "A String", # Number of instances that are inactive.
+    },
+    "dryRun": 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.
     "instanceFilter": { # 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.
+      "all": True or False, # Target all VM instances in the project. If true, no other criteria is
+          # permitted.
       "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
           # instances in any zone.
         "A String",
       ],
+      "instances": [ # 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]`
+        "A String",
+      ],
       "groupLabels": [ # Targets VM instances matching at least one of these label sets. This allows
           # targeting of disparate groups, for example "env=prod or env=staging".
         { # Represents a group of VMs that can be identified as having all these
             # labels, for example "env=prod and app=web".
-          "labels": { # Google Compute Engine instance labels that must be present for a VM
-              # instance to be targeted by this filter.
+          "labels": { # Compute Engine instance labels that must be present for a VM instance to
+              # be targeted by this filter.
             "a_key": "A String",
           },
         },
       ],
-      "all": True or False, # Target all VM instances in the project. If true, no other criteria is
-          # permitted.
-      "instances": [ # 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]`
-        "A String",
-      ],
       "instanceNamePrefixes": [ # 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="prod-".
         "A String",
       ],
     },
-    "duration": "A String", # Duration of the patch job. After the duration ends, the
-        # patch job times out.
-    "instanceDetailsSummary": { # 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.
-      "inactiveInstanceCount": "A String", # Number of instances that are inactive.
-      "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
-      "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
-      "noAgentDetectedInstanceCount": "A String", # 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.
-      "failedInstanceCount": "A String", # Number of instances that failed.
-      "pendingInstanceCount": "A String", # Number of instances pending patch job.
-      "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
-      "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
-      "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
-      "rebootingInstanceCount": "A String", # Number of instances rebooting.
-      "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
-      "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
-      "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
-      "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
-      "startedInstanceCount": "A String", # Number of instances that have started.
-    },
-    "description": "A String", # Description of the patch job. Length of the description is limited
-        # to 1024 characters.
     "percentComplete": 3.14, # Reflects the overall progress of the patch job in the range of
         # 0.0 being no progress to 100.0 being complete.
+    "createTime": "A String", # Time this patch job was created.
+    "state": "A String", # The current state of the PatchJob.
+    "updateTime": "A String", # Last time this patch job was updated.
+    "errorMessage": "A String", # If this patch job failed, this message provides information about the
+        # failure.
+    "name": "A String", # Unique identifier for this patch job in the form
+        # `projects/*/patchJobs/*`
+    "description": "A String", # Description of the patch job. Length of the description is limited
+        # to 1024 characters.
   }</pre>
 </div>
 
@@ -357,198 +389,229 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # A request message to initiate patching across Google Compute Engine
-      # instances.
+{ # A request message to initiate patching across Compute Engine instances.
     &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;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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        &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;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;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;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;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;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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;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;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;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;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+        &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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
-            # using `apt-get dist-upgrade` instead.
-        &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;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+          &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;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;excludes&quot;: [ # List of KBs to exclude from update.
+          &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;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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+        &quot;excludes&quot;: [ # List of patches to exclude from update.
+          &quot;A String&quot;,
+        ],
+        &quot;severities&quot;: [ # Install only patches with these severities.
+            # Common severities include critical, important, moderate, and low.
+          &quot;A String&quot;,
+        ],
+        &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+        &quot;categories&quot;: [ # Install only patches with these categories.
+            # Common categories include security, recommended, and feature.
+          &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;displayName&quot;: &quot;A String&quot;, # Display name for this patch job. This does not have to be unique.
+    &quot;dryRun&quot;: True or False, # If this patch is a dry-run only, instances are contacted but
+        # will do nothing.
     &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;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
           # instances in any zone.
         &quot;A String&quot;,
       ],
+      &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;groupLabels&quot;: [ # Targets VM instances matching at least one of these label sets. This allows
           # targeting of disparate groups, for example &quot;env=prod or env=staging&quot;.
         { # Represents a group of VMs that can be identified as having all these
             # labels, for example &quot;env=prod and app=web&quot;.
-          &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for a VM
-              # instance to be targeted by this filter.
+          &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to
+              # be targeted by this filter.
             &quot;a_key&quot;: &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;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;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;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.
+    },
   }
 
   x__xgafv: string, V1 error format.
@@ -562,232 +625,264 @@
     { # 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
-      # details, use ListPatchJobInstanceDetails.
+      # 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;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;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;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;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 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;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
         # patch(es) to a VM instance.
-      &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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        &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;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;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;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;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;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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;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;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;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;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+        &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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
-            # using `apt-get dist-upgrade` instead.
-        &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;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+          &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;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;excludes&quot;: [ # List of KBs to exclude from update.
+          &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;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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+        &quot;excludes&quot;: [ # List of patches to exclude from update.
+          &quot;A String&quot;,
+        ],
+        &quot;severities&quot;: [ # Install only patches with these severities.
+            # Common severities include critical, important, moderate, and low.
+          &quot;A String&quot;,
+        ],
+        &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+        &quot;categories&quot;: [ # Install only patches with these categories.
+            # Common categories include security, recommended, and feature.
+          &quot;A String&quot;,
+        ],
+      },
     },
+    &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;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;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
+      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
+      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
+      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
+      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
+      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
+      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
+      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
+      &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;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
+      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+    },
+    &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;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;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
           # instances in any zone.
         &quot;A String&quot;,
       ],
+      &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;groupLabels&quot;: [ # Targets VM instances matching at least one of these label sets. This allows
           # targeting of disparate groups, for example &quot;env=prod or env=staging&quot;.
         { # Represents a group of VMs that can be identified as having all these
             # labels, for example &quot;env=prod and app=web&quot;.
-          &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for a VM
-              # instance to be targeted by this filter.
+          &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to
+              # be targeted by this filter.
             &quot;a_key&quot;: &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;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;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;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
-      &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;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
-        # to 1024 characters.
     &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;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Last time this patch job was updated.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
+        # failure.
+    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
+        # `projects/*/patchJobs/*`
+    &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
+        # to 1024 characters.
   }</pre>
 </div>
 
@@ -809,232 +904,264 @@
     { # 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
-      # details, use ListPatchJobInstanceDetails.
+      # 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;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;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;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;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 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;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
         # patch(es) to a VM instance.
-      &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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-        &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;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;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;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;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;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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-          &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;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;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;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;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+        &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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
-            # using `apt-get dist-upgrade` instead.
-        &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;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+          &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;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;excludes&quot;: [ # List of KBs to exclude from update.
+          &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;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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+            &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+            &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+            &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+        &quot;excludes&quot;: [ # List of patches to exclude from update.
+          &quot;A String&quot;,
+        ],
+        &quot;severities&quot;: [ # Install only patches with these severities.
+            # Common severities include critical, important, moderate, and low.
+          &quot;A String&quot;,
+        ],
+        &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+        &quot;categories&quot;: [ # Install only patches with these categories.
+            # Common categories include security, recommended, and feature.
+          &quot;A String&quot;,
+        ],
+      },
     },
+    &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;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;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
+      &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
+      &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
+      &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
+      &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
+      &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
+      &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
+      &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
+      &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;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
+      &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+    },
+    &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;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;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
           # instances in any zone.
         &quot;A String&quot;,
       ],
+      &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;groupLabels&quot;: [ # Targets VM instances matching at least one of these label sets. This allows
           # targeting of disparate groups, for example &quot;env=prod or env=staging&quot;.
         { # Represents a group of VMs that can be identified as having all these
             # labels, for example &quot;env=prod and app=web&quot;.
-          &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for a VM
-              # instance to be targeted by this filter.
+          &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to
+              # be targeted by this filter.
             &quot;a_key&quot;: &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;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;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;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
-      &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;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
-        # to 1024 characters.
     &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;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
+    &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob.
+    &quot;updateTime&quot;: &quot;A String&quot;, # Last time this patch job was updated.
+    &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
+        # failure.
+    &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
+        # `projects/*/patchJobs/*`
+    &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
+        # to 1024 characters.
   }</pre>
 </div>
 
@@ -1063,232 +1190,264 @@
       { # 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
-          # details, use ListPatchJobInstanceDetails.
+          # 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;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;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;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;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 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;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
             # patch(es) to a VM instance.
-          &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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-              &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
-            &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;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;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;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;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;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;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
-              &quot;gcsObject&quot;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
-                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
-                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;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;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;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;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+            &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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;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;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed
-                # using `apt-get dist-upgrade` instead.
-            &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;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+              &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;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;excludes&quot;: [ # List of KBs to exclude from update.
+              &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;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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;: { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+                &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Google Cloud Storage object.
+                &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Google Cloud Storage object.
+                &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Google 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;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;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+            &quot;excludes&quot;: [ # List of patches to exclude from update.
+              &quot;A String&quot;,
+            ],
+            &quot;severities&quot;: [ # Install only patches with these severities.
+                # Common severities include critical, important, moderate, and low.
+              &quot;A String&quot;,
+            ],
+            &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+            &quot;categories&quot;: [ # Install only patches with these categories.
+                # Common categories include security, recommended, and feature.
+              &quot;A String&quot;,
+            ],
+          },
         },
+        &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;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;startedInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have started.
+          &quot;downloadingPatchesInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are downloading patches.
+          &quot;succeededRebootRequiredInstanceCount&quot;: &quot;A String&quot;, # Number of instances that require reboot.
+          &quot;succeededInstanceCount&quot;: &quot;A String&quot;, # Number of instances that have completed successfully.
+          &quot;timedOutInstanceCount&quot;: &quot;A String&quot;, # Number of instances that exceeded the time out while applying the patch.
+          &quot;notifiedInstanceCount&quot;: &quot;A String&quot;, # Number of instances notified about patch job.
+          &quot;rebootingInstanceCount&quot;: &quot;A String&quot;, # Number of instances rebooting.
+          &quot;pendingInstanceCount&quot;: &quot;A String&quot;, # Number of instances pending patch job.
+          &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;postPatchStepInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are running the post-patch step.
+          &quot;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
+        },
+        &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;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;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM
               # instances in any zone.
             &quot;A String&quot;,
           ],
+          &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;groupLabels&quot;: [ # Targets VM instances matching at least one of these label sets. This allows
               # targeting of disparate groups, for example &quot;env=prod or env=staging&quot;.
             { # Represents a group of VMs that can be identified as having all these
                 # labels, for example &quot;env=prod and app=web&quot;.
-              &quot;labels&quot;: { # Google Compute Engine instance labels that must be present for a VM
-                  # instance to be targeted by this filter.
+              &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to
+                  # be targeted by this filter.
                 &quot;a_key&quot;: &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;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;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;inactiveInstanceCount&quot;: &quot;A String&quot;, # Number of instances that are inactive.
-          &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;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
-            # to 1024 characters.
         &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;createTime&quot;: &quot;A String&quot;, # Time this patch job was created.
+        &quot;state&quot;: &quot;A String&quot;, # The current state of the PatchJob.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Last time this patch job was updated.
+        &quot;errorMessage&quot;: &quot;A String&quot;, # If this patch job failed, this message provides information about the
+            # failure.
+        &quot;name&quot;: &quot;A String&quot;, # Unique identifier for this patch job in the form
+            # `projects/*/patchJobs/*`
+        &quot;description&quot;: &quot;A String&quot;, # Description of the patch job. Length of the description is limited
+            # to 1024 characters.
       },
     ],
     &quot;nextPageToken&quot;: &quot;A String&quot;, # A pagination token that can be used to get the next page of results.