Cloud OS Config API . projects . patchJobs

Instance Methods

instanceDetails()

Returns the instanceDetails Resource.

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

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

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

Patch VM instances by creating and running a patch job.

get(name, x__xgafv=None)

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

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

Get a list of patch jobs.

list_next(previous_request, previous_response)

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.
      #
      # Instances 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.
    "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.
    "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
        # patch(es) to a VM instance.
      "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.
        "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.
      },
      "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.
        "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",
        ],
        "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",
        ],
        "security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
            # all platforms.
      },
      "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.
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
      "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
        "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",
        ],
        "classifications": [ # Only apply updates of these windows update classifications. If empty, all
            # updates are applied.
          "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.
        "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",
        ],
        "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",
        ],
      },
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
    },
    "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.
      "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",
      ],
      "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
          # instances in any zone.
        "A String",
      ],
      "groupLabels": [ # Targets VM instances matching ANY of these GroupLabels. This allows
          # targeting of disparate groups of VM instances.
        { # Targets a group of VM instances by using their [assigned
            # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
            # are key-value pairs. A `GroupLabel` is a combination of labels
            # that is used to target VMs for a patch job.
            #
            # For example, a patch job can target VMs that have the following
            # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
            # is applied to VMs that have both the labels `env=test` 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",
          },
        },
      ],
    },
    "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.
      "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.
      "inactiveInstanceCount": "A String", # Number of instances that are inactive.
    },
    "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.
    "state": "A String", # The current state of the PatchJob .
    "name": "A String", # Unique identifier for this patch job in the form
        # `projects/*/patchJobs/*`
  }
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.
    "displayName": "A String", # Display name for this patch job. This does not have to be unique.
    "description": "A String", # Description of the patch job. Length of the description is limited
        # to 1024 characters.
    "dryRun": True or False, # If this patch is a dry-run only, instances are contacted but
        # will do nothing.
    "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.
      "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.
        "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.
      },
      "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.
        "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",
        ],
        "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",
        ],
        "security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
            # all platforms.
      },
      "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.
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
      "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
        "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",
        ],
        "classifications": [ # Only apply updates of these windows update classifications. If empty, all
            # updates are applied.
          "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.
        "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",
        ],
        "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",
        ],
      },
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
    },
    "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.
      "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",
      ],
      "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
          # instances in any zone.
        "A String",
      ],
      "groupLabels": [ # Targets VM instances matching ANY of these GroupLabels. This allows
          # targeting of disparate groups of VM instances.
        { # Targets a group of VM instances by using their [assigned
            # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
            # are key-value pairs. A `GroupLabel` is a combination of labels
            # that is used to target VMs for a patch job.
            #
            # For example, a patch job can target VMs that have the following
            # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
            # is applied to VMs that have both the labels `env=test` 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",
          },
        },
      ],
    },
    "duration": "A String", # Duration of the patch job. After the duration ends, the patch job
        # times out.
  }

  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.
      #
      # Instances 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.
    "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.
    "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
        # patch(es) to a VM instance.
      "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.
        "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.
      },
      "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.
        "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",
        ],
        "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",
        ],
        "security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
            # all platforms.
      },
      "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.
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
      "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
        "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",
        ],
        "classifications": [ # Only apply updates of these windows update classifications. If empty, all
            # updates are applied.
          "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.
        "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",
        ],
        "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",
        ],
      },
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
    },
    "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.
      "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",
      ],
      "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
          # instances in any zone.
        "A String",
      ],
      "groupLabels": [ # Targets VM instances matching ANY of these GroupLabels. This allows
          # targeting of disparate groups of VM instances.
        { # Targets a group of VM instances by using their [assigned
            # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
            # are key-value pairs. A `GroupLabel` is a combination of labels
            # that is used to target VMs for a patch job.
            #
            # For example, a patch job can target VMs that have the following
            # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
            # is applied to VMs that have both the labels `env=test` 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",
          },
        },
      ],
    },
    "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.
      "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.
      "inactiveInstanceCount": "A String", # Number of instances that are inactive.
    },
    "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.
    "state": "A String", # The current state of the PatchJob .
    "name": "A String", # Unique identifier for this patch job in the form
        # `projects/*/patchJobs/*`
  }
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.
      #
      # Instances 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.
    "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.
    "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
        # patch(es) to a VM instance.
      "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.
        "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.
      },
      "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.
        "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",
        ],
        "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",
        ],
        "security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
            # all platforms.
      },
      "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.
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
      "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
        "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",
        ],
        "classifications": [ # Only apply updates of these windows update classifications. If empty, all
            # updates are applied.
          "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.
        "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",
        ],
        "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",
        ],
      },
      "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.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
        "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
          "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,
          ],
          "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
            "bucket": "A String", # Required. Bucket of the Cloud Storage object.
            "object": "A String", # Required. Name of the Cloud Storage object.
            "generationNumber": "A String", # Required. Generation number of the 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\)).
        },
      },
    },
    "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.
      "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",
      ],
      "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
          # instances in any zone.
        "A String",
      ],
      "groupLabels": [ # Targets VM instances matching ANY of these GroupLabels. This allows
          # targeting of disparate groups of VM instances.
        { # Targets a group of VM instances by using their [assigned
            # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
            # are key-value pairs. A `GroupLabel` is a combination of labels
            # that is used to target VMs for a patch job.
            #
            # For example, a patch job can target VMs that have the following
            # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
            # is applied to VMs that have both the labels `env=test` 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",
          },
        },
      ],
    },
    "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.
      "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.
      "inactiveInstanceCount": "A String", # Number of instances that are inactive.
    },
    "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.
    "state": "A String", # The current state of the PatchJob .
    "name": "A String", # Unique identifier for this patch job in the form
        # `projects/*/patchJobs/*`
  }
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.
          #
          # Instances 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.
        "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.
        "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
            # patch(es) to a VM instance.
          "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.
            "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.
          },
          "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.
            "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",
            ],
            "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",
            ],
            "security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
                # all platforms.
          },
          "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.
          "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.
              "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,
              ],
              "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
                "bucket": "A String", # Required. Bucket of the Cloud Storage object.
                "object": "A String", # Required. Name of the Cloud Storage object.
                "generationNumber": "A String", # Required. Generation number of the 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\)).
            },
            "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
              "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,
              ],
              "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
                "bucket": "A String", # Required. Bucket of the Cloud Storage object.
                "object": "A String", # Required. Name of the Cloud Storage object.
                "generationNumber": "A String", # Required. Generation number of the 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\)).
            },
          },
          "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
            "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",
            ],
            "classifications": [ # Only apply updates of these windows update classifications. If empty, all
                # updates are applied.
              "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.
            "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",
            ],
            "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",
            ],
          },
          "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.
              "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,
              ],
              "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
                "bucket": "A String", # Required. Bucket of the Cloud Storage object.
                "object": "A String", # Required. Name of the Cloud Storage object.
                "generationNumber": "A String", # Required. Generation number of the 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\)).
            },
            "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
              "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,
              ],
              "gcsObject": { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
                "bucket": "A String", # Required. Bucket of the Cloud Storage object.
                "object": "A String", # Required. Name of the Cloud Storage object.
                "generationNumber": "A String", # Required. Generation number of the 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\)).
            },
          },
        },
        "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.
          "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",
          ],
          "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
              # instances in any zone.
            "A String",
          ],
          "groupLabels": [ # Targets VM instances matching ANY of these GroupLabels. This allows
              # targeting of disparate groups of VM instances.
            { # Targets a group of VM instances by using their [assigned
                # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
                # are key-value pairs. A `GroupLabel` is a combination of labels
                # that is used to target VMs for a patch job.
                #
                # For example, a patch job can target VMs that have the following
                # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
                # is applied to VMs that have both the labels `env=test` 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",
              },
            },
          ],
        },
        "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.
          "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.
          "inactiveInstanceCount": "A String", # Number of instances that are inactive.
        },
        "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.
        "state": "A String", # The current state of the PatchJob .
        "name": "A String", # Unique identifier for this patch job in the form
            # `projects/*/patchJobs/*`
      },
    ],
    "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.