Cloud OS Config API . projects . patchDeployments

Instance Methods

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

Create an OS Config patch deployment.

delete(name, x__xgafv=None)

Delete an OS Config patch deployment.

get(name, x__xgafv=None)

Get an OS Config patch deployment.

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

Get a page of OS Config patch deployments.

list_next(previous_request, previous_response)

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.