# Cloud OS Config API . projects . patchDeployments

## Instance Methods

Create an OS Config patch deployment.

Delete an OS Config patch deployment.

Get an OS Config patch deployment.

Get a page of OS Config patch deployments.

Retrieves the next page of results.

### Method Details

`create(parent, body=None, patchDeploymentId=None, x__xgafv=None)`

    Create an OS Config patch deployment.

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

    { # Patch deployments are configurations that individual patch jobs use to
          # complete a patch. These configurations include instance filter, package
          # repository settings, and a schedule. For more information about creating and
          # managing patch deployments, see [Scheduling patch
          # jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
        "lastExecuteTime": "A String", # Output only. The last time a patch job was started by this deployment.
            # Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
            # format.
        "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Optional. Patch configuration that is 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\)).
            },
          },
        },
        "duration": "A String", # Optional. Duration of the patch. After the duration ends, the patch times out.
        "instanceFilter": { # A filter to target VM instances for patching. The targeted # Required. VM 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",
              },
            },
          ],
        },
        "description": "A String", # Optional. Description of the patch deployment. Length of the description is limited
            # to 1024 characters.
        "createTime": "A String", # Output only. Time the patch deployment was created. Timestamp is in
            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
        "updateTime": "A String", # Output only. Time the patch deployment was last updated. Timestamp is in
            # [RFC3339]("https://www.ietf.org/rfc/rfc3339.txt) text format.
        "name": "A String", # Unique name for the patch deployment resource in a project. The patch
            # deployment name is in the form:
            # `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
            # This field is ignored when you create a new patch deployment.
        "recurringSchedule": { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
          "timeOfDay": { # Represents a time of day. The date and time zone are either not significant # Required. Time of the day to run a recurring deployment.
              # or are specified elsewhere. An API may choose to allow leap seconds. Related
              # types are google.type.Date and `google.protobuf.Timestamp`.
            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
                # to allow the value "24:00:00" for scenarios like business closing time.
            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
                # allow the value 60 if it allows leap-seconds.
          },
          "weekly": { # Represents a weekly schedule. # Required. Schedule with weekly executions.
            "dayOfWeek": "A String", # Required. Day of the week.
          },
          "lastExecuteTime": "A String", # Output only. The time the last patch job ran successfully.
          "frequency": "A String", # Required. The frequency unit of this recurring schedule.
          "timeZone": { # Represents a time zone from the # Required. Defines the time zone that `time_of_day` is relative to.
              # The rules for daylight saving time are determined by the chosen time zone.
              # [IANA Time Zone Database](https://www.iana.org/time-zones).
            "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York".
            "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a".
          },
          "endTime": "A String", # Optional. The end time at which a recurring patch deployment schedule is no longer
              # active.
          "nextExecuteTime": "A String", # Output only. The time the next patch job is scheduled to run.
          "startTime": "A String", # Optional. The time that the recurring schedule becomes effective.
              # Defaults to `create_time` of the patch deployment.
          "monthly": { # Represents a monthly schedule. An example of a valid monthly schedule is # Required. Schedule with monthly executions.
              # "on the third Tuesday of the month" or "on the 15th of the month".
            "weekDayOfMonth": { # Represents one week day in a month. An example is "the 4th Sunday". # Required. Week day in a month.
              "weekOrdinal": 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1
                  # indicates the last week of the month.
              "dayOfWeek": "A String", # Required. A day of the week.
            },
            "monthDay": 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1
                # indicates the last day of the month.
                # Months without the target day will be skipped. For example, a schedule to
                # run "every month on the 31st" will not run in February, April, June, etc.
          },
        },
        "oneTimeSchedule": { # Sets the time for a one time patch deployment. Timestamp is in # Required. Schedule a one-time execution.
            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
          "executeTime": "A String", # Required. The desired patch job execution time.
        },
      }

      patchDeploymentId: string, Required. A name for the patch deployment in the project. When creating a name
    the following rules apply:
    * Must contain only lowercase letters, numbers, and hyphens.
    * Must start with a letter.
    * Must be between 1-63 characters.
    * Must end with a number or a letter.
    * Must be unique within the project.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Patch deployments are configurations that individual patch jobs use to
            # complete a patch. These configurations include instance filter, package
            # repository settings, and a schedule. For more information about creating and
            # managing patch deployments, see [Scheduling patch
            # jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
          "lastExecuteTime": "A String", # Output only. The last time a patch job was started by this deployment.
              # Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
              # format.
          "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Optional. Patch configuration that is 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\)).
              },
            },
          },
          "duration": "A String", # Optional. Duration of the patch. After the duration ends, the patch times out.
          "instanceFilter": { # A filter to target VM instances for patching. The targeted # Required. VM 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",
                },
              },
            ],
          },
          "description": "A String", # Optional. Description of the patch deployment. Length of the description is limited
              # to 1024 characters.
          "createTime": "A String", # Output only. Time the patch deployment was created. Timestamp is in
              # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
          "updateTime": "A String", # Output only. Time the patch deployment was last updated. Timestamp is in
              # [RFC3339]("https://www.ietf.org/rfc/rfc3339.txt) text format.
          "name": "A String", # Unique name for the patch deployment resource in a project. The patch
              # deployment name is in the form:
              # `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
              # This field is ignored when you create a new patch deployment.
          "recurringSchedule": { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
            "timeOfDay": { # Represents a time of day. The date and time zone are either not significant # Required. Time of the day to run a recurring deployment.
                # or are specified elsewhere. An API may choose to allow leap seconds. Related
                # types are google.type.Date and `google.protobuf.Timestamp`.
              "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
              "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
                  # to allow the value "24:00:00" for scenarios like business closing time.
              "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
              "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
                  # allow the value 60 if it allows leap-seconds.
            },
            "weekly": { # Represents a weekly schedule. # Required. Schedule with weekly executions.
              "dayOfWeek": "A String", # Required. Day of the week.
            },
            "lastExecuteTime": "A String", # Output only. The time the last patch job ran successfully.
            "frequency": "A String", # Required. The frequency unit of this recurring schedule.
            "timeZone": { # Represents a time zone from the # Required. Defines the time zone that `time_of_day` is relative to.
                # The rules for daylight saving time are determined by the chosen time zone.
                # [IANA Time Zone Database](https://www.iana.org/time-zones).
              "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York".
              "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a".
            },
            "endTime": "A String", # Optional. The end time at which a recurring patch deployment schedule is no longer
                # active.
            "nextExecuteTime": "A String", # Output only. The time the next patch job is scheduled to run.
            "startTime": "A String", # Optional. The time that the recurring schedule becomes effective.
                # Defaults to `create_time` of the patch deployment.
            "monthly": { # Represents a monthly schedule. An example of a valid monthly schedule is # Required. Schedule with monthly executions.
                # "on the third Tuesday of the month" or "on the 15th of the month".
              "weekDayOfMonth": { # Represents one week day in a month. An example is "the 4th Sunday". # Required. Week day in a month.
                "weekOrdinal": 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1
                    # indicates the last week of the month.
                "dayOfWeek": "A String", # Required. A day of the week.
              },
              "monthDay": 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1
                  # indicates the last day of the month.
                  # Months without the target day will be skipped. For example, a schedule to
                  # run "every month on the 31st" will not run in February, April, June, etc.
            },
          },
          "oneTimeSchedule": { # Sets the time for a one time patch deployment. Timestamp is in # Required. Schedule a one-time execution.
              # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
            "executeTime": "A String", # Required. The desired patch job execution time.
          },
        }

`delete(name, x__xgafv=None)`

    Delete an OS Config patch deployment.

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

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated
          # empty messages in your APIs. A typical example is to use it as the request
          # or the response type of an API method. For instance:
          #
          #     service Foo {
          #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

`get(name, x__xgafv=None)`

    Get an OS Config patch deployment.

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

    Returns:
      An object of the form:

        { # Patch deployments are configurations that individual patch jobs use to
            # complete a patch. These configurations include instance filter, package
            # repository settings, and a schedule. For more information about creating and
            # managing patch deployments, see [Scheduling patch
            # jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
          "lastExecuteTime": "A String", # Output only. The last time a patch job was started by this deployment.
              # Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
              # format.
          "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Optional. Patch configuration that is 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\)).
              },
            },
          },
          "duration": "A String", # Optional. Duration of the patch. After the duration ends, the patch times out.
          "instanceFilter": { # A filter to target VM instances for patching. The targeted # Required. VM 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",
                },
              },
            ],
          },
          "description": "A String", # Optional. Description of the patch deployment. Length of the description is limited
              # to 1024 characters.
          "createTime": "A String", # Output only. Time the patch deployment was created. Timestamp is in
              # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
          "updateTime": "A String", # Output only. Time the patch deployment was last updated. Timestamp is in
              # [RFC3339]("https://www.ietf.org/rfc/rfc3339.txt) text format.
          "name": "A String", # Unique name for the patch deployment resource in a project. The patch
              # deployment name is in the form:
              # `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
              # This field is ignored when you create a new patch deployment.
          "recurringSchedule": { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
            "timeOfDay": { # Represents a time of day. The date and time zone are either not significant # Required. Time of the day to run a recurring deployment.
                # or are specified elsewhere. An API may choose to allow leap seconds. Related
                # types are google.type.Date and `google.protobuf.Timestamp`.
              "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
              "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
                  # to allow the value "24:00:00" for scenarios like business closing time.
              "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
              "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
                  # allow the value 60 if it allows leap-seconds.
            },
            "weekly": { # Represents a weekly schedule. # Required. Schedule with weekly executions.
              "dayOfWeek": "A String", # Required. Day of the week.
            },
            "lastExecuteTime": "A String", # Output only. The time the last patch job ran successfully.
            "frequency": "A String", # Required. The frequency unit of this recurring schedule.
            "timeZone": { # Represents a time zone from the # Required. Defines the time zone that `time_of_day` is relative to.
                # The rules for daylight saving time are determined by the chosen time zone.
                # [IANA Time Zone Database](https://www.iana.org/time-zones).
              "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York".
              "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a".
            },
            "endTime": "A String", # Optional. The end time at which a recurring patch deployment schedule is no longer
                # active.
            "nextExecuteTime": "A String", # Output only. The time the next patch job is scheduled to run.
            "startTime": "A String", # Optional. The time that the recurring schedule becomes effective.
                # Defaults to `create_time` of the patch deployment.
            "monthly": { # Represents a monthly schedule. An example of a valid monthly schedule is # Required. Schedule with monthly executions.
                # "on the third Tuesday of the month" or "on the 15th of the month".
              "weekDayOfMonth": { # Represents one week day in a month. An example is "the 4th Sunday". # Required. Week day in a month.
                "weekOrdinal": 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1
                    # indicates the last week of the month.
                "dayOfWeek": "A String", # Required. A day of the week.
              },
              "monthDay": 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1
                  # indicates the last day of the month.
                  # Months without the target day will be skipped. For example, a schedule to
                  # run "every month on the 31st" will not run in February, April, June, etc.
            },
          },
          "oneTimeSchedule": { # Sets the time for a one time patch deployment. Timestamp is in # Required. Schedule a one-time execution.
              # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
            "executeTime": "A String", # Required. The desired patch job execution time.
          },
        }

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

    Get a page of OS Config patch deployments.

    Args:
      parent: string, Required. The resource name of the parent in the form `projects/*`. (required)
      pageToken: string, Optional. A pagination token returned from a previous call to ListPatchDeployments
    that indicates where this listing should continue from.
      pageSize: integer, Optional. The maximum number of patch deployments to return. Default is 100.
      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 deployments.
        "nextPageToken": "A String", # A pagination token that can be used to get the next page of patch
            # deployments.
        "patchDeployments": [ # The list of patch deployments.
          { # Patch deployments are configurations that individual patch jobs use to
                # complete a patch. These configurations include instance filter, package
                # repository settings, and a schedule. For more information about creating and
                # managing patch deployments, see [Scheduling patch
                # jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
              "lastExecuteTime": "A String", # Output only. The last time a patch job was started by this deployment.
                  # Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
                  # format.
              "patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Optional. Patch configuration that is 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\)).
                  },
                },
              },
              "duration": "A String", # Optional. Duration of the patch. After the duration ends, the patch times out.
              "instanceFilter": { # A filter to target VM instances for patching. The targeted # Required. VM 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",
                    },
                  },
                ],
              },
              "description": "A String", # Optional. Description of the patch deployment. Length of the description is limited
                  # to 1024 characters.
              "createTime": "A String", # Output only. Time the patch deployment was created. Timestamp is in
                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
              "updateTime": "A String", # Output only. Time the patch deployment was last updated. Timestamp is in
                  # [RFC3339]("https://www.ietf.org/rfc/rfc3339.txt) text format.
              "name": "A String", # Unique name for the patch deployment resource in a project. The patch
                  # deployment name is in the form:
                  # `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
                  # This field is ignored when you create a new patch deployment.
              "recurringSchedule": { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
                "timeOfDay": { # Represents a time of day. The date and time zone are either not significant # Required. Time of the day to run a recurring deployment.
                    # or are specified elsewhere. An API may choose to allow leap seconds. Related
                    # types are google.type.Date and `google.protobuf.Timestamp`.
                  "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
                  "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
                      # to allow the value "24:00:00" for scenarios like business closing time.
                  "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
                  "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
                      # allow the value 60 if it allows leap-seconds.
                },
                "weekly": { # Represents a weekly schedule. # Required. Schedule with weekly executions.
                  "dayOfWeek": "A String", # Required. Day of the week.
                },
                "lastExecuteTime": "A String", # Output only. The time the last patch job ran successfully.
                "frequency": "A String", # Required. The frequency unit of this recurring schedule.
                "timeZone": { # Represents a time zone from the # Required. Defines the time zone that `time_of_day` is relative to.
                    # The rules for daylight saving time are determined by the chosen time zone.
                    # [IANA Time Zone Database](https://www.iana.org/time-zones).
                  "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York".
                  "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a".
                },
                "endTime": "A String", # Optional. The end time at which a recurring patch deployment schedule is no longer
                    # active.
                "nextExecuteTime": "A String", # Output only. The time the next patch job is scheduled to run.
                "startTime": "A String", # Optional. The time that the recurring schedule becomes effective.
                    # Defaults to `create_time` of the patch deployment.
                "monthly": { # Represents a monthly schedule. An example of a valid monthly schedule is # Required. Schedule with monthly executions.
                    # "on the third Tuesday of the month" or "on the 15th of the month".
                  "weekDayOfMonth": { # Represents one week day in a month. An example is "the 4th Sunday". # Required. Week day in a month.
                    "weekOrdinal": 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1
                        # indicates the last week of the month.
                    "dayOfWeek": "A String", # Required. A day of the week.
                  },
                  "monthDay": 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1
                      # indicates the last day of the month.
                      # Months without the target day will be skipped. For example, a schedule to
                      # run "every month on the 31st" will not run in February, April, June, etc.
                },
              },
              "oneTimeSchedule": { # Sets the time for a one time patch deployment. Timestamp is in # Required. Schedule a one-time execution.
                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
                "executeTime": "A String", # Required. The desired patch job execution time.
              },
            },
        ],
      }

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