# Cloud OS Config API . projects . patchJobs

## Instance Methods

Returns the instanceDetails Resource.

Cancel a patch job. The patch job must be active. Canceled patch jobs

Patch VM instances by creating and running a patch job.

Get the patch job. This can be used to track the progress of an

Get a list of patch jobs.

Retrieves the next page of results.

### Method Details

`cancel(name, body=None, x__xgafv=None)`

    Cancel a patch job. The patch job must be active. Canceled patch jobs
    cannot be restarted.

    Args:
      name: string, Required. Name of the patch in the form `projects/*/patchJobs/*` (required)
      body: object, The request body.
        The object takes the form of:

    { # Message for canceling a patch job.
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A high level representation of a patch job that is either in progress
          # or has completed.
          #
          # 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).
        "displayName": "A String", # Display name for this patch job. This is not a unique identifier.
        "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
        "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.
          "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.
          },
          "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.
            "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",
            ],
          },
          "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",
            ],
          },
          "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": { # Compute Engine instance labels that must be present for a VM instance to
                  # be targeted by this filter.
                "a_key": "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",
          ],
        },
        "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.
      }

`execute(parent, body=None, x__xgafv=None)`

    Patch VM instances by creating and running a patch job.

    Args:
      parent: string, Required. The project in which to run this patch in the form `projects/*` (required)
      body: object, The request body.
        The object takes the form of:

    { # A request message to initiate patching across Compute Engine instances.
        "patchConfig": { # 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.
          "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.
          },
          "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.
            "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",
            ],
          },
          "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",
            ],
          },
          "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",
            ],
          },
        },
        "duration": "A String", # Duration of the patch job. After the duration ends, the patch job
            # times out.
        "displayName": "A String", # Display name for this patch job. This does not have to be unique.
        "dryRun": True or False, # If this patch is a dry-run only, instances are contacted but
            # will do nothing.
        "instanceFilter": { # 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.
          "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": { # Compute Engine instance labels that must be present for a VM instance to
                  # be targeted by this filter.
                "a_key": "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",
          ],
        },
        "description": "A String", # Description of the patch job. Length of the description is limited
            # to 1024 characters.
        "rollout": { # Patch rollout configuration specifications. Contains details on the # Rollout strategy of the patch job.
            # 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.
        },
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A high level representation of a patch job that is either in progress
          # or has completed.
          #
          # 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).
        "displayName": "A String", # Display name for this patch job. This is not a unique identifier.
        "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
        "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.
          "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.
          },
          "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.
            "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",
            ],
          },
          "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",
            ],
          },
          "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": { # Compute Engine instance labels that must be present for a VM instance to
                  # be targeted by this filter.
                "a_key": "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",
          ],
        },
        "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.
      }

`get(name, x__xgafv=None)`

    Get the patch job. This can be used to track the progress of an
    ongoing patch job or review the details of completed jobs.

    Args:
      name: string, Required. Name of the patch in the form `projects/*/patchJobs/*` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A high level representation of a patch job that is either in progress
          # or has completed.
          #
          # 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).
        "displayName": "A String", # Display name for this patch job. This is not a unique identifier.
        "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
        "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.
          "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.
          },
          "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.
            "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",
            ],
          },
          "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",
            ],
          },
          "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": { # Compute Engine instance labels that must be present for a VM instance to
                  # be targeted by this filter.
                "a_key": "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",
          ],
        },
        "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.
      }

`list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)`

    Get a list of patch jobs.

    Args:
      parent: string, Required. In the form of `projects/*` (required)
      filter: string, If provided, this field specifies the criteria that must be met by patch
    jobs to be included in the response.
    Currently, filtering is only available on the patch_deployment field.
      pageToken: string, A pagination token returned from a previous call
    that indicates where this listing should continue from.
      pageSize: integer, The maximum number of instance status to return.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A response message for listing patch jobs.
        "patchJobs": [ # The list of patch jobs.
          { # A high level representation of a patch job that is either in progress
              # or has completed.
              #
              # 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).
            "displayName": "A String", # Display name for this patch job. This is not a unique identifier.
            "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
            "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.
              "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.
              },
              "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.
                "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",
                ],
              },
              "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",
                ],
              },
              "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": { # Compute Engine instance labels that must be present for a VM instance to
                      # be targeted by this filter.
                    "a_key": "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",
              ],
            },
            "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.
          },
        ],
        "nextPageToken": "A String", # A pagination token that can be used to get the next page of results.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.