# OS Config API . projects . patchJobs

## Instance Methods

Returns the instanceDetails Resource.

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

Close httplib2 connections.

Patch VM instances by creating and running a patch job.

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

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).
      "createTime": "A String", # Time this patch job was created.
      "description": "A String", # Description of the patch job. Length of the description is limited to 1024 characters.
      "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.
      "duration": "A String", # Duration of the patch job. After the duration ends, the patch job times out.
      "errorMessage": "A String", # If this patch job failed, this message provides information about the failure.
      "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch 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. # Summary of instance details.
        "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
        "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
        "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
        "failedInstanceCount": "A String", # Number of instances that failed.
        "inactiveInstanceCount": "A String", # Number of instances that are inactive.
        "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.
        "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
        "pendingInstanceCount": "A String", # Number of instances pending patch job.
        "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
        "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
        "rebootingInstanceCount": "A String", # Number of instances rebooting.
        "startedInstanceCount": "A String", # Number of instances that have started.
        "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
        "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
        "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
      },
      "instanceFilter": { # A filter to target VM instances for patching. The targeted 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. # Instances to patch.
        "all": True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
        "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",
        ],
        "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",
        ],
        "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
          "A String",
        ],
      },
      "name": "A String", # Unique identifier for this patch job in the form `projects/*/patchJobs/*`
      "patchConfig": { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Patch configuration being applied.
        "apt": { # Apt patching is completed by executing `apt-get update && apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
          "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.
        },
        "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "rebootConfig": "A String", # Post-patch reboot settings.
        "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
          "classifications": [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
            "A String",
          ],
          "excludes": [ # List of KBs to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
            "A String",
          ],
        },
        "yum": { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
          "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.
        },
        "zypper": { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
          "categories": [ # Install only patches with these categories. Common categories include security, recommended, and feature.
            "A String",
          ],
          "excludes": [ # List of patches to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
            "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`.
          "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
        },
      },
      "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
      "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.
      "rollout": { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Rollout strategy being applied.
        "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value. # 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.
          "fixed": 42, # Specifies a fixed value.
          "percent": 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
        },
        "mode": "A String", # Mode of the patch rollout.
      },
      "state": "A String", # The current state of the PatchJob.
      "updateTime": "A String", # Last time this patch job was updated.
    }

`close()`

    Close httplib2 connections.

`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.
      "description": "A String", # Description of the patch job. Length of the description is limited to 1024 characters.
      "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.
      "duration": "A String", # Duration of the patch job. After the duration ends, the patch job times out.
      "instanceFilter": { # A filter to target VM instances for patching. The targeted 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. # Required. Instances to patch, either explicitly or filtered by some criteria such as zone or labels.
        "all": True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
        "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",
        ],
        "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",
        ],
        "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
          "A String",
        ],
      },
      "patchConfig": { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Patch configuration being applied. If omitted, instances are patched using the default configurations.
        "apt": { # Apt patching is completed by executing `apt-get update && apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
          "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.
        },
        "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "rebootConfig": "A String", # Post-patch reboot settings.
        "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
          "classifications": [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
            "A String",
          ],
          "excludes": [ # List of KBs to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
            "A String",
          ],
        },
        "yum": { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
          "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.
        },
        "zypper": { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
          "categories": [ # Install only patches with these categories. Common categories include security, recommended, and feature.
            "A String",
          ],
          "excludes": [ # List of patches to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
            "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`.
          "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
        },
      },
      "rollout": { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Rollout strategy of the patch job.
        "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value. # 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.
          "fixed": 42, # Specifies a fixed value.
          "percent": 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference 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).
      "createTime": "A String", # Time this patch job was created.
      "description": "A String", # Description of the patch job. Length of the description is limited to 1024 characters.
      "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.
      "duration": "A String", # Duration of the patch job. After the duration ends, the patch job times out.
      "errorMessage": "A String", # If this patch job failed, this message provides information about the failure.
      "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch 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. # Summary of instance details.
        "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
        "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
        "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
        "failedInstanceCount": "A String", # Number of instances that failed.
        "inactiveInstanceCount": "A String", # Number of instances that are inactive.
        "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.
        "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
        "pendingInstanceCount": "A String", # Number of instances pending patch job.
        "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
        "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
        "rebootingInstanceCount": "A String", # Number of instances rebooting.
        "startedInstanceCount": "A String", # Number of instances that have started.
        "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
        "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
        "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
      },
      "instanceFilter": { # A filter to target VM instances for patching. The targeted 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. # Instances to patch.
        "all": True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
        "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",
        ],
        "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",
        ],
        "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
          "A String",
        ],
      },
      "name": "A String", # Unique identifier for this patch job in the form `projects/*/patchJobs/*`
      "patchConfig": { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Patch configuration being applied.
        "apt": { # Apt patching is completed by executing `apt-get update && apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
          "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.
        },
        "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "rebootConfig": "A String", # Post-patch reboot settings.
        "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
          "classifications": [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
            "A String",
          ],
          "excludes": [ # List of KBs to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
            "A String",
          ],
        },
        "yum": { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
          "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.
        },
        "zypper": { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
          "categories": [ # Install only patches with these categories. Common categories include security, recommended, and feature.
            "A String",
          ],
          "excludes": [ # List of patches to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
            "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`.
          "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
        },
      },
      "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
      "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.
      "rollout": { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Rollout strategy being applied.
        "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value. # 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.
          "fixed": 42, # Specifies a fixed value.
          "percent": 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
        },
        "mode": "A String", # Mode of the patch rollout.
      },
      "state": "A String", # The current state of the PatchJob.
      "updateTime": "A String", # Last time this patch job was updated.
    }

`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).
      "createTime": "A String", # Time this patch job was created.
      "description": "A String", # Description of the patch job. Length of the description is limited to 1024 characters.
      "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.
      "duration": "A String", # Duration of the patch job. After the duration ends, the patch job times out.
      "errorMessage": "A String", # If this patch job failed, this message provides information about the failure.
      "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch 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. # Summary of instance details.
        "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
        "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
        "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
        "failedInstanceCount": "A String", # Number of instances that failed.
        "inactiveInstanceCount": "A String", # Number of instances that are inactive.
        "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.
        "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
        "pendingInstanceCount": "A String", # Number of instances pending patch job.
        "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
        "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
        "rebootingInstanceCount": "A String", # Number of instances rebooting.
        "startedInstanceCount": "A String", # Number of instances that have started.
        "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
        "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
        "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
      },
      "instanceFilter": { # A filter to target VM instances for patching. The targeted 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. # Instances to patch.
        "all": True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
        "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",
        ],
        "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",
        ],
        "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
          "A String",
        ],
      },
      "name": "A String", # Unique identifier for this patch job in the form `projects/*/patchJobs/*`
      "patchConfig": { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Patch configuration being applied.
        "apt": { # Apt patching is completed by executing `apt-get update && apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
          "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.
        },
        "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "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.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
          "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
            "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
              42,
            ],
            "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
              "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
              "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.
              "object": "A String", # Required. Name of the Google Cloud Storage object.
            },
            "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
            "localPath": "A String", # An absolute path to the executable on the VM.
          },
        },
        "rebootConfig": "A String", # Post-patch reboot settings.
        "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
          "classifications": [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
            "A String",
          ],
          "excludes": [ # List of KBs to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
            "A String",
          ],
        },
        "yum": { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
          "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.
        },
        "zypper": { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
          "categories": [ # Install only patches with these categories. Common categories include security, recommended, and feature.
            "A String",
          ],
          "excludes": [ # List of patches to exclude from update.
            "A String",
          ],
          "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
            "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`.
          "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
        },
      },
      "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
      "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.
      "rollout": { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Rollout strategy being applied.
        "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value. # 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.
          "fixed": 42, # Specifies a fixed value.
          "percent": 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
        },
        "mode": "A String", # Mode of the patch rollout.
      },
      "state": "A String", # The current state of the PatchJob.
      "updateTime": "A String", # Last time this patch job was updated.
    }

`list(parent, filter=None, pageSize=None, pageToken=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.
      pageSize: integer, The maximum number of instance status to return.
      pageToken: string, A pagination token returned from a previous call that indicates where this listing should continue from.
      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.
      "nextPageToken": "A String", # A pagination token that can be used to get the next page of results.
      "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).
          "createTime": "A String", # Time this patch job was created.
          "description": "A String", # Description of the patch job. Length of the description is limited to 1024 characters.
          "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.
          "duration": "A String", # Duration of the patch job. After the duration ends, the patch job times out.
          "errorMessage": "A String", # If this patch job failed, this message provides information about the failure.
          "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch 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. # Summary of instance details.
            "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
            "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
            "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
            "failedInstanceCount": "A String", # Number of instances that failed.
            "inactiveInstanceCount": "A String", # Number of instances that are inactive.
            "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.
            "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
            "pendingInstanceCount": "A String", # Number of instances pending patch job.
            "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
            "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
            "rebootingInstanceCount": "A String", # Number of instances rebooting.
            "startedInstanceCount": "A String", # Number of instances that have started.
            "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
            "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
            "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
          },
          "instanceFilter": { # A filter to target VM instances for patching. The targeted 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. # Instances to patch.
            "all": True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
            "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",
            ],
            "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",
            ],
            "zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
              "A String",
            ],
          },
          "name": "A String", # Unique identifier for this patch job in the form `projects/*/patchJobs/*`
          "patchConfig": { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Patch configuration being applied.
            "apt": { # Apt patching is completed by executing `apt-get update && apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
              "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.
            },
            "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
            },
            "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.
                "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
                  42,
                ],
                "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
                  "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
                  "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.
                  "object": "A String", # Required. Name of the Google Cloud Storage object.
                },
                "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
                "localPath": "A String", # An absolute path to the executable on the VM.
              },
              "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
                "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
                  42,
                ],
                "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
                  "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
                  "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.
                  "object": "A String", # Required. Name of the Google Cloud Storage object.
                },
                "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
                "localPath": "A String", # An absolute path to the executable on the VM.
              },
            },
            "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.
                "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
                  42,
                ],
                "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
                  "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
                  "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.
                  "object": "A String", # Required. Name of the Google Cloud Storage object.
                },
                "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
                "localPath": "A String", # An absolute path to the executable on the VM.
              },
              "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
                "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
                  42,
                ],
                "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
                  "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
                  "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.
                  "object": "A String", # Required. Name of the Google Cloud Storage object.
                },
                "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
                "localPath": "A String", # An absolute path to the executable on the VM.
              },
            },
            "rebootConfig": "A String", # Post-patch reboot settings.
            "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
              "classifications": [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
                "A String",
              ],
              "excludes": [ # List of KBs to exclude from update.
                "A String",
              ],
              "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.
                "A String",
              ],
            },
            "yum": { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
              "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.
            },
            "zypper": { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
              "categories": [ # Install only patches with these categories. Common categories include security, recommended, and feature.
                "A String",
              ],
              "excludes": [ # List of patches to exclude from update.
                "A String",
              ],
              "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
                "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`.
              "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
            },
          },
          "patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
          "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.
          "rollout": { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Rollout strategy being applied.
            "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value. # 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.
              "fixed": 42, # Specifies a fixed value.
              "percent": 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
            },
            "mode": "A String", # Mode of the patch rollout.
          },
          "state": "A String", # The current state of the PatchJob.
          "updateTime": "A String", # Last time this patch job was updated.
        },
      ],
    }

`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.