docs: update generated docs (#981)
diff --git a/docs/dyn/osconfig_v1beta.projects.patchJobs.html b/docs/dyn/osconfig_v1beta.projects.patchJobs.html
index 3b5c1cd..bfb2878 100644
--- a/docs/dyn/osconfig_v1beta.projects.patchJobs.html
+++ b/docs/dyn/osconfig_v1beta.projects.patchJobs.html
@@ -119,232 +119,264 @@
{ # A high level representation of a patch job that is either in progress
# or has completed.
#
- # Instances details are not included in the job. To paginate through instance
- # details, use ListPatchJobInstanceDetails.
+ # Instance details are not included in the job. To paginate through instance
+ # details, use `ListPatchJobInstanceDetails`.
#
# For more information about patch jobs, see
# [Creating patch
# jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
- "state": "A String", # The current state of the PatchJob .
- "name": "A String", # Unique identifier for this patch job in the form
- # `projects/*/patchJobs/*`
"displayName": "A String", # Display name for this patch job. This is not a unique identifier.
- "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
- # finished without running any updates on the VM instance.
- "createTime": "A String", # Time this patch job was created.
- "updateTime": "A String", # Last time this patch job was updated.
"patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
- "errorMessage": "A String", # If this patch job failed, this message provides information about the
- # failure.
+ "duration": "A String", # Duration of the patch job. After the duration ends, the
+ # patch job times out.
+ "rollout": { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+ # concurrency control when applying patch(es) to all targeted VMs.
+ "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+ # moment. The number of VMs calculated from multiplying the percentage by the
+ # total number of VMs in a zone is rounded up.
+ #
+ # During patching, a VM is considered disrupted from the time the agent is
+ # notified to begin until patching has completed. This disruption time
+ # includes the time to complete reboot and any post-patch steps.
+ #
+ # A VM contributes to the disruption budget if its patching operation fails
+ # either when applying the patches, running pre or post patch steps, or if it
+ # fails to respond with a success notification before timing out. VMs that
+ # are not running or do not have an active agent do not count toward this
+ # disruption budget.
+ #
+ # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+ # the patch job stops, because continuing to the next zone requires
+ # completion of the patch process in the previous zone.
+ #
+ # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+ # fail to patch in the current zone, the patch job continues to patch 2 VMs
+ # at a time until the zone is completed. When that zone is completed
+ # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+ # VMs in the next zone fail to patch, the patch job stops.
+ # relative ("percent") to a value.
+ "percent": 42, # Specifies the relative value defined as a percentage, which will be
+ # multiplied by a reference value.
+ "fixed": 42, # Specifies a fixed value.
+ },
+ "mode": "A String", # Mode of the patch rollout.
+ },
"patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
# patch(es) to a VM instance.
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
- "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
- "classifications": [ # Only apply updates of these windows update classifications. If empty, all
- # updates are applied.
- "A String",
- ],
- "excludes": [ # List of KBs to exclude from update.
- "A String",
- ],
- "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
- # that will be updated. This field must not be used with other
- # patch configurations.
- "A String",
- ],
- },
- "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.
- "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",
- ],
- "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",
- ],
- },
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
"yum": { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
# rules.
# can be set to control how this is executed.
#
# Note that not all settings are supported on all platforms.
+ "excludes": [ # List of packages to exclude from update. These packages are excluded by
+ # using the yum `--exclude` flag.
+ "A String",
+ ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field must not be specified with any other patch
# configuration fields.
"A String",
],
+ "minimal": True or False, # Will cause patch to run `yum update-minimal` instead.
"security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
# all platforms.
- "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",
- ],
},
+ "postStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+ # rules.
+ },
+ "rebootConfig": "A String", # Post-patch reboot settings.
"apt": { # Apt patching is completed by executing `apt-get update && apt-get # Apt update settings. Use this setting to override the default `apt` patch
# rules.
# upgrade`. Additional options can be set to control how this is executed.
- "type": "A String", # By changing the type to DIST, the patching is performed
- # using `apt-get dist-upgrade` instead.
- "excludes": [ # List of packages to exclude from update. These packages will be excluded
- "A String",
- ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field cannot be specified with any other patch configuration
# fields.
"A String",
],
+ "type": "A String", # By changing the type to DIST, the patching is performed
+ # using `apt-get dist-upgrade` instead.
+ "excludes": [ # List of packages to exclude from update. These packages will be excluded
+ "A String",
+ ],
},
- "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
- # rules.
+ "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+ "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
+ # that will be updated. This field must not be used with other
+ # patch configurations.
+ "A String",
+ ],
+ "excludes": [ # List of KBs to exclude from update.
+ "A String",
+ ],
+ "classifications": [ # Only apply updates of these windows update classifications. If empty, all
+ # updates are applied.
+ "A String",
+ ],
},
- "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.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "zypper": { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
+ # patch rules.
+ # See also https://en.opensuse.org/SDB:Zypper_manual.
+ "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches
+ # that will be installed using 'zypper patch patch:<patch_name>' command.
+ # This field must not be used with any other patch configuration fields.
+ "A String",
+ ],
+ "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
+ "excludes": [ # List of patches to exclude from update.
+ "A String",
+ ],
+ "severities": [ # Install only patches with these severities.
+ # Common severities include critical, important, moderate, and low.
+ "A String",
+ ],
+ "withOptional": True or False, # Adds the `--with-optional` flag to `zypper patch`.
+ "categories": [ # Install only patches with these categories.
+ # Common categories include security, recommended, and feature.
+ "A String",
+ ],
+ },
},
+ "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+ # job affects. Contains counts of instances in different states. These states
+ # map to `InstancePatchState`. List patch job instance details to see the
+ # specific states of each instance.
+ "failedInstanceCount": "A String", # Number of instances that failed.
+ "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
+ "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
+ # ensure that the agent is installed, running, and able to communicate with
+ # the service.
+ "startedInstanceCount": "A String", # Number of instances that have started.
+ "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
+ "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
+ "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
+ "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
+ "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
+ "rebootingInstanceCount": "A String", # Number of instances rebooting.
+ "pendingInstanceCount": "A String", # Number of instances pending patch job.
+ "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
+ "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
+ "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
+ "inactiveInstanceCount": "A String", # Number of instances that are inactive.
+ },
+ "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
+ # finished without running any updates on the VM instance.
"instanceFilter": { # A filter to target VM instances for patching. The targeted # Instances to patch.
# VMs must meet all criteria specified. So if both labels and zones are
# specified, the patch job targets only VMs with those labels and in those
# zones.
+ "all": True or False, # Target all VM instances in the project. If true, no other criteria is
+ # permitted.
"zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
# instances in any zone.
"A String",
],
+ "instances": [ # Targets any of the VM instances specified. Instances are specified by their
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+ # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+ # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+ "A String",
+ ],
"groupLabels": [ # Targets VM instances matching at least one of these label sets. This allows
# targeting of disparate groups, for example "env=prod or env=staging".
{ # Represents a group of VMs that can be identified as having all these
# labels, for example "env=prod and app=web".
- "labels": { # Google Compute Engine instance labels that must be present for a VM
- # instance to be targeted by this filter.
+ "labels": { # Compute Engine instance labels that must be present for a VM instance to
+ # be targeted by this filter.
"a_key": "A String",
},
},
],
- "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",
],
},
- "duration": "A String", # Duration of the patch job. After the duration ends, the
- # patch job times out.
- "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
- # job affects. Contains counts of instances in different states. These states
- # map to `InstancePatchState`. List patch job instance details to see the
- # specific states of each instance.
- "inactiveInstanceCount": "A String", # Number of instances that are inactive.
- "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
- "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
- "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
- # ensure that the agent is installed, running, and able to communicate with
- # the service.
- "failedInstanceCount": "A String", # Number of instances that failed.
- "pendingInstanceCount": "A String", # Number of instances pending patch job.
- "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
- "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
- "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
- "rebootingInstanceCount": "A String", # Number of instances rebooting.
- "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
- "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
- "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
- "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
- "startedInstanceCount": "A String", # Number of instances that have started.
- },
- "description": "A String", # Description of the patch job. Length of the description is limited
- # to 1024 characters.
"percentComplete": 3.14, # Reflects the overall progress of the patch job in the range of
# 0.0 being no progress to 100.0 being complete.
+ "createTime": "A String", # Time this patch job was created.
+ "state": "A String", # The current state of the PatchJob.
+ "updateTime": "A String", # Last time this patch job was updated.
+ "errorMessage": "A String", # If this patch job failed, this message provides information about the
+ # failure.
+ "name": "A String", # Unique identifier for this patch job in the form
+ # `projects/*/patchJobs/*`
+ "description": "A String", # Description of the patch job. Length of the description is limited
+ # to 1024 characters.
}</pre>
</div>
@@ -357,198 +389,229 @@
body: object, The request body.
The object takes the form of:
-{ # A request message to initiate patching across Google Compute Engine
- # instances.
+{ # A request message to initiate patching across Compute Engine instances.
"patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied. If omitted, instances are
# patched using the default configurations.
# patch(es) to a VM instance.
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
- "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
- "classifications": [ # Only apply updates of these windows update classifications. If empty, all
- # updates are applied.
- "A String",
- ],
- "excludes": [ # List of KBs to exclude from update.
- "A String",
- ],
- "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
- # that will be updated. This field must not be used with other
- # patch configurations.
- "A String",
- ],
- },
- "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.
- "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",
- ],
- "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",
- ],
- },
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
"yum": { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
# rules.
# can be set to control how this is executed.
#
# Note that not all settings are supported on all platforms.
+ "excludes": [ # List of packages to exclude from update. These packages are excluded by
+ # using the yum `--exclude` flag.
+ "A String",
+ ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field must not be specified with any other patch
# configuration fields.
"A String",
],
+ "minimal": True or False, # Will cause patch to run `yum update-minimal` instead.
"security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
# all platforms.
- "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",
- ],
},
+ "postStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+ # rules.
+ },
+ "rebootConfig": "A String", # Post-patch reboot settings.
"apt": { # Apt patching is completed by executing `apt-get update && apt-get # Apt update settings. Use this setting to override the default `apt` patch
# rules.
# upgrade`. Additional options can be set to control how this is executed.
- "type": "A String", # By changing the type to DIST, the patching is performed
- # using `apt-get dist-upgrade` instead.
- "excludes": [ # List of packages to exclude from update. These packages will be excluded
- "A String",
- ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field cannot be specified with any other patch configuration
# fields.
"A String",
],
+ "type": "A String", # By changing the type to DIST, the patching is performed
+ # using `apt-get dist-upgrade` instead.
+ "excludes": [ # List of packages to exclude from update. These packages will be excluded
+ "A String",
+ ],
},
- "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
- # rules.
+ "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+ "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
+ # that will be updated. This field must not be used with other
+ # patch configurations.
+ "A String",
+ ],
+ "excludes": [ # List of KBs to exclude from update.
+ "A String",
+ ],
+ "classifications": [ # Only apply updates of these windows update classifications. If empty, all
+ # updates are applied.
+ "A String",
+ ],
},
- "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.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "zypper": { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
+ # patch rules.
+ # See also https://en.opensuse.org/SDB:Zypper_manual.
+ "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches
+ # that will be installed using 'zypper patch patch:<patch_name>' command.
+ # This field must not be used with any other patch configuration fields.
+ "A String",
+ ],
+ "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
+ "excludes": [ # List of patches to exclude from update.
+ "A String",
+ ],
+ "severities": [ # Install only patches with these severities.
+ # Common severities include critical, important, moderate, and low.
+ "A String",
+ ],
+ "withOptional": True or False, # Adds the `--with-optional` flag to `zypper patch`.
+ "categories": [ # Install only patches with these categories.
+ # Common categories include security, recommended, and feature.
+ "A String",
+ ],
+ },
},
"duration": "A String", # Duration of the patch job. After the duration ends, the patch job
# times out.
+ "displayName": "A String", # Display name for this patch job. This does not have to be unique.
+ "dryRun": True or False, # If this patch is a dry-run only, instances are contacted but
+ # will do nothing.
"instanceFilter": { # A filter to target VM instances for patching. The targeted # Required. Instances to patch, either explicitly or filtered by some criteria such
# as zone or labels.
# VMs must meet all criteria specified. So if both labels and zones are
# specified, the patch job targets only VMs with those labels and in those
# zones.
+ "all": True or False, # Target all VM instances in the project. If true, no other criteria is
+ # permitted.
"zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
# instances in any zone.
"A String",
],
+ "instances": [ # Targets any of the VM instances specified. Instances are specified by their
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+ # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+ # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+ "A String",
+ ],
"groupLabels": [ # Targets VM instances matching at least one of these label sets. This allows
# targeting of disparate groups, for example "env=prod or env=staging".
{ # Represents a group of VMs that can be identified as having all these
# labels, for example "env=prod and app=web".
- "labels": { # Google Compute Engine instance labels that must be present for a VM
- # instance to be targeted by this filter.
+ "labels": { # Compute Engine instance labels that must be present for a VM instance to
+ # be targeted by this filter.
"a_key": "A String",
},
},
],
- "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",
],
},
- "displayName": "A String", # Display name for this patch job. This does not have to be unique.
"description": "A String", # Description of the patch job. Length of the description is limited
# to 1024 characters.
- "dryRun": True or False, # If this patch is a dry-run only, instances are contacted but
- # will do nothing.
+ "rollout": { # Patch rollout configuration specifications. Contains details on the # Rollout strategy of the patch job.
+ # concurrency control when applying patch(es) to all targeted VMs.
+ "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+ # moment. The number of VMs calculated from multiplying the percentage by the
+ # total number of VMs in a zone is rounded up.
+ #
+ # During patching, a VM is considered disrupted from the time the agent is
+ # notified to begin until patching has completed. This disruption time
+ # includes the time to complete reboot and any post-patch steps.
+ #
+ # A VM contributes to the disruption budget if its patching operation fails
+ # either when applying the patches, running pre or post patch steps, or if it
+ # fails to respond with a success notification before timing out. VMs that
+ # are not running or do not have an active agent do not count toward this
+ # disruption budget.
+ #
+ # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+ # the patch job stops, because continuing to the next zone requires
+ # completion of the patch process in the previous zone.
+ #
+ # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+ # fail to patch in the current zone, the patch job continues to patch 2 VMs
+ # at a time until the zone is completed. When that zone is completed
+ # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+ # VMs in the next zone fail to patch, the patch job stops.
+ # relative ("percent") to a value.
+ "percent": 42, # Specifies the relative value defined as a percentage, which will be
+ # multiplied by a reference value.
+ "fixed": 42, # Specifies a fixed value.
+ },
+ "mode": "A String", # Mode of the patch rollout.
+ },
}
x__xgafv: string, V1 error format.
@@ -562,232 +625,264 @@
{ # A high level representation of a patch job that is either in progress
# or has completed.
#
- # Instances details are not included in the job. To paginate through instance
- # details, use ListPatchJobInstanceDetails.
+ # Instance details are not included in the job. To paginate through instance
+ # details, use `ListPatchJobInstanceDetails`.
#
# For more information about patch jobs, see
# [Creating patch
# jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
- "state": "A String", # The current state of the PatchJob .
- "name": "A String", # Unique identifier for this patch job in the form
- # `projects/*/patchJobs/*`
"displayName": "A String", # Display name for this patch job. This is not a unique identifier.
- "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
- # finished without running any updates on the VM instance.
- "createTime": "A String", # Time this patch job was created.
- "updateTime": "A String", # Last time this patch job was updated.
"patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
- "errorMessage": "A String", # If this patch job failed, this message provides information about the
- # failure.
+ "duration": "A String", # Duration of the patch job. After the duration ends, the
+ # patch job times out.
+ "rollout": { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+ # concurrency control when applying patch(es) to all targeted VMs.
+ "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+ # moment. The number of VMs calculated from multiplying the percentage by the
+ # total number of VMs in a zone is rounded up.
+ #
+ # During patching, a VM is considered disrupted from the time the agent is
+ # notified to begin until patching has completed. This disruption time
+ # includes the time to complete reboot and any post-patch steps.
+ #
+ # A VM contributes to the disruption budget if its patching operation fails
+ # either when applying the patches, running pre or post patch steps, or if it
+ # fails to respond with a success notification before timing out. VMs that
+ # are not running or do not have an active agent do not count toward this
+ # disruption budget.
+ #
+ # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+ # the patch job stops, because continuing to the next zone requires
+ # completion of the patch process in the previous zone.
+ #
+ # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+ # fail to patch in the current zone, the patch job continues to patch 2 VMs
+ # at a time until the zone is completed. When that zone is completed
+ # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+ # VMs in the next zone fail to patch, the patch job stops.
+ # relative ("percent") to a value.
+ "percent": 42, # Specifies the relative value defined as a percentage, which will be
+ # multiplied by a reference value.
+ "fixed": 42, # Specifies a fixed value.
+ },
+ "mode": "A String", # Mode of the patch rollout.
+ },
"patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
# patch(es) to a VM instance.
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
- "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
- "classifications": [ # Only apply updates of these windows update classifications. If empty, all
- # updates are applied.
- "A String",
- ],
- "excludes": [ # List of KBs to exclude from update.
- "A String",
- ],
- "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
- # that will be updated. This field must not be used with other
- # patch configurations.
- "A String",
- ],
- },
- "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.
- "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",
- ],
- "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",
- ],
- },
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
"yum": { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
# rules.
# can be set to control how this is executed.
#
# Note that not all settings are supported on all platforms.
+ "excludes": [ # List of packages to exclude from update. These packages are excluded by
+ # using the yum `--exclude` flag.
+ "A String",
+ ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field must not be specified with any other patch
# configuration fields.
"A String",
],
+ "minimal": True or False, # Will cause patch to run `yum update-minimal` instead.
"security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
# all platforms.
- "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",
- ],
},
+ "postStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+ # rules.
+ },
+ "rebootConfig": "A String", # Post-patch reboot settings.
"apt": { # Apt patching is completed by executing `apt-get update && apt-get # Apt update settings. Use this setting to override the default `apt` patch
# rules.
# upgrade`. Additional options can be set to control how this is executed.
- "type": "A String", # By changing the type to DIST, the patching is performed
- # using `apt-get dist-upgrade` instead.
- "excludes": [ # List of packages to exclude from update. These packages will be excluded
- "A String",
- ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field cannot be specified with any other patch configuration
# fields.
"A String",
],
+ "type": "A String", # By changing the type to DIST, the patching is performed
+ # using `apt-get dist-upgrade` instead.
+ "excludes": [ # List of packages to exclude from update. These packages will be excluded
+ "A String",
+ ],
},
- "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
- # rules.
+ "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+ "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
+ # that will be updated. This field must not be used with other
+ # patch configurations.
+ "A String",
+ ],
+ "excludes": [ # List of KBs to exclude from update.
+ "A String",
+ ],
+ "classifications": [ # Only apply updates of these windows update classifications. If empty, all
+ # updates are applied.
+ "A String",
+ ],
},
- "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.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "zypper": { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
+ # patch rules.
+ # See also https://en.opensuse.org/SDB:Zypper_manual.
+ "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches
+ # that will be installed using 'zypper patch patch:<patch_name>' command.
+ # This field must not be used with any other patch configuration fields.
+ "A String",
+ ],
+ "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
+ "excludes": [ # List of patches to exclude from update.
+ "A String",
+ ],
+ "severities": [ # Install only patches with these severities.
+ # Common severities include critical, important, moderate, and low.
+ "A String",
+ ],
+ "withOptional": True or False, # Adds the `--with-optional` flag to `zypper patch`.
+ "categories": [ # Install only patches with these categories.
+ # Common categories include security, recommended, and feature.
+ "A String",
+ ],
+ },
},
+ "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+ # job affects. Contains counts of instances in different states. These states
+ # map to `InstancePatchState`. List patch job instance details to see the
+ # specific states of each instance.
+ "failedInstanceCount": "A String", # Number of instances that failed.
+ "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
+ "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
+ # ensure that the agent is installed, running, and able to communicate with
+ # the service.
+ "startedInstanceCount": "A String", # Number of instances that have started.
+ "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
+ "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
+ "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
+ "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
+ "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
+ "rebootingInstanceCount": "A String", # Number of instances rebooting.
+ "pendingInstanceCount": "A String", # Number of instances pending patch job.
+ "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
+ "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
+ "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
+ "inactiveInstanceCount": "A String", # Number of instances that are inactive.
+ },
+ "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
+ # finished without running any updates on the VM instance.
"instanceFilter": { # A filter to target VM instances for patching. The targeted # Instances to patch.
# VMs must meet all criteria specified. So if both labels and zones are
# specified, the patch job targets only VMs with those labels and in those
# zones.
+ "all": True or False, # Target all VM instances in the project. If true, no other criteria is
+ # permitted.
"zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
# instances in any zone.
"A String",
],
+ "instances": [ # Targets any of the VM instances specified. Instances are specified by their
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+ # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+ # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+ "A String",
+ ],
"groupLabels": [ # Targets VM instances matching at least one of these label sets. This allows
# targeting of disparate groups, for example "env=prod or env=staging".
{ # Represents a group of VMs that can be identified as having all these
# labels, for example "env=prod and app=web".
- "labels": { # Google Compute Engine instance labels that must be present for a VM
- # instance to be targeted by this filter.
+ "labels": { # Compute Engine instance labels that must be present for a VM instance to
+ # be targeted by this filter.
"a_key": "A String",
},
},
],
- "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",
],
},
- "duration": "A String", # Duration of the patch job. After the duration ends, the
- # patch job times out.
- "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
- # job affects. Contains counts of instances in different states. These states
- # map to `InstancePatchState`. List patch job instance details to see the
- # specific states of each instance.
- "inactiveInstanceCount": "A String", # Number of instances that are inactive.
- "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
- "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
- "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
- # ensure that the agent is installed, running, and able to communicate with
- # the service.
- "failedInstanceCount": "A String", # Number of instances that failed.
- "pendingInstanceCount": "A String", # Number of instances pending patch job.
- "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
- "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
- "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
- "rebootingInstanceCount": "A String", # Number of instances rebooting.
- "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
- "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
- "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
- "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
- "startedInstanceCount": "A String", # Number of instances that have started.
- },
- "description": "A String", # Description of the patch job. Length of the description is limited
- # to 1024 characters.
"percentComplete": 3.14, # Reflects the overall progress of the patch job in the range of
# 0.0 being no progress to 100.0 being complete.
+ "createTime": "A String", # Time this patch job was created.
+ "state": "A String", # The current state of the PatchJob.
+ "updateTime": "A String", # Last time this patch job was updated.
+ "errorMessage": "A String", # If this patch job failed, this message provides information about the
+ # failure.
+ "name": "A String", # Unique identifier for this patch job in the form
+ # `projects/*/patchJobs/*`
+ "description": "A String", # Description of the patch job. Length of the description is limited
+ # to 1024 characters.
}</pre>
</div>
@@ -809,232 +904,264 @@
{ # A high level representation of a patch job that is either in progress
# or has completed.
#
- # Instances details are not included in the job. To paginate through instance
- # details, use ListPatchJobInstanceDetails.
+ # Instance details are not included in the job. To paginate through instance
+ # details, use `ListPatchJobInstanceDetails`.
#
# For more information about patch jobs, see
# [Creating patch
# jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
- "state": "A String", # The current state of the PatchJob .
- "name": "A String", # Unique identifier for this patch job in the form
- # `projects/*/patchJobs/*`
"displayName": "A String", # Display name for this patch job. This is not a unique identifier.
- "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
- # finished without running any updates on the VM instance.
- "createTime": "A String", # Time this patch job was created.
- "updateTime": "A String", # Last time this patch job was updated.
"patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
- "errorMessage": "A String", # If this patch job failed, this message provides information about the
- # failure.
+ "duration": "A String", # Duration of the patch job. After the duration ends, the
+ # patch job times out.
+ "rollout": { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+ # concurrency control when applying patch(es) to all targeted VMs.
+ "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+ # moment. The number of VMs calculated from multiplying the percentage by the
+ # total number of VMs in a zone is rounded up.
+ #
+ # During patching, a VM is considered disrupted from the time the agent is
+ # notified to begin until patching has completed. This disruption time
+ # includes the time to complete reboot and any post-patch steps.
+ #
+ # A VM contributes to the disruption budget if its patching operation fails
+ # either when applying the patches, running pre or post patch steps, or if it
+ # fails to respond with a success notification before timing out. VMs that
+ # are not running or do not have an active agent do not count toward this
+ # disruption budget.
+ #
+ # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+ # the patch job stops, because continuing to the next zone requires
+ # completion of the patch process in the previous zone.
+ #
+ # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+ # fail to patch in the current zone, the patch job continues to patch 2 VMs
+ # at a time until the zone is completed. When that zone is completed
+ # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+ # VMs in the next zone fail to patch, the patch job stops.
+ # relative ("percent") to a value.
+ "percent": 42, # Specifies the relative value defined as a percentage, which will be
+ # multiplied by a reference value.
+ "fixed": 42, # Specifies a fixed value.
+ },
+ "mode": "A String", # Mode of the patch rollout.
+ },
"patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
# patch(es) to a VM instance.
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
- "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
- "classifications": [ # Only apply updates of these windows update classifications. If empty, all
- # updates are applied.
- "A String",
- ],
- "excludes": [ # List of KBs to exclude from update.
- "A String",
- ],
- "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
- # that will be updated. This field must not be used with other
- # patch configurations.
- "A String",
- ],
- },
- "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.
- "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",
- ],
- "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",
- ],
- },
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
"yum": { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
# rules.
# can be set to control how this is executed.
#
# Note that not all settings are supported on all platforms.
+ "excludes": [ # List of packages to exclude from update. These packages are excluded by
+ # using the yum `--exclude` flag.
+ "A String",
+ ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field must not be specified with any other patch
# configuration fields.
"A String",
],
+ "minimal": True or False, # Will cause patch to run `yum update-minimal` instead.
"security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
# all platforms.
- "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",
- ],
},
+ "postStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+ # rules.
+ },
+ "rebootConfig": "A String", # Post-patch reboot settings.
"apt": { # Apt patching is completed by executing `apt-get update && apt-get # Apt update settings. Use this setting to override the default `apt` patch
# rules.
# upgrade`. Additional options can be set to control how this is executed.
- "type": "A String", # By changing the type to DIST, the patching is performed
- # using `apt-get dist-upgrade` instead.
- "excludes": [ # List of packages to exclude from update. These packages will be excluded
- "A String",
- ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field cannot be specified with any other patch configuration
# fields.
"A String",
],
+ "type": "A String", # By changing the type to DIST, the patching is performed
+ # using `apt-get dist-upgrade` instead.
+ "excludes": [ # List of packages to exclude from update. These packages will be excluded
+ "A String",
+ ],
},
- "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
- # rules.
+ "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+ "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
+ # that will be updated. This field must not be used with other
+ # patch configurations.
+ "A String",
+ ],
+ "excludes": [ # List of KBs to exclude from update.
+ "A String",
+ ],
+ "classifications": [ # Only apply updates of these windows update classifications. If empty, all
+ # updates are applied.
+ "A String",
+ ],
},
- "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.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "zypper": { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
+ # patch rules.
+ # See also https://en.opensuse.org/SDB:Zypper_manual.
+ "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches
+ # that will be installed using 'zypper patch patch:<patch_name>' command.
+ # This field must not be used with any other patch configuration fields.
+ "A String",
+ ],
+ "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
+ "excludes": [ # List of patches to exclude from update.
+ "A String",
+ ],
+ "severities": [ # Install only patches with these severities.
+ # Common severities include critical, important, moderate, and low.
+ "A String",
+ ],
+ "withOptional": True or False, # Adds the `--with-optional` flag to `zypper patch`.
+ "categories": [ # Install only patches with these categories.
+ # Common categories include security, recommended, and feature.
+ "A String",
+ ],
+ },
},
+ "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+ # job affects. Contains counts of instances in different states. These states
+ # map to `InstancePatchState`. List patch job instance details to see the
+ # specific states of each instance.
+ "failedInstanceCount": "A String", # Number of instances that failed.
+ "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
+ "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
+ # ensure that the agent is installed, running, and able to communicate with
+ # the service.
+ "startedInstanceCount": "A String", # Number of instances that have started.
+ "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
+ "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
+ "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
+ "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
+ "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
+ "rebootingInstanceCount": "A String", # Number of instances rebooting.
+ "pendingInstanceCount": "A String", # Number of instances pending patch job.
+ "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
+ "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
+ "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
+ "inactiveInstanceCount": "A String", # Number of instances that are inactive.
+ },
+ "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
+ # finished without running any updates on the VM instance.
"instanceFilter": { # A filter to target VM instances for patching. The targeted # Instances to patch.
# VMs must meet all criteria specified. So if both labels and zones are
# specified, the patch job targets only VMs with those labels and in those
# zones.
+ "all": True or False, # Target all VM instances in the project. If true, no other criteria is
+ # permitted.
"zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
# instances in any zone.
"A String",
],
+ "instances": [ # Targets any of the VM instances specified. Instances are specified by their
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+ # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+ # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+ "A String",
+ ],
"groupLabels": [ # Targets VM instances matching at least one of these label sets. This allows
# targeting of disparate groups, for example "env=prod or env=staging".
{ # Represents a group of VMs that can be identified as having all these
# labels, for example "env=prod and app=web".
- "labels": { # Google Compute Engine instance labels that must be present for a VM
- # instance to be targeted by this filter.
+ "labels": { # Compute Engine instance labels that must be present for a VM instance to
+ # be targeted by this filter.
"a_key": "A String",
},
},
],
- "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",
],
},
- "duration": "A String", # Duration of the patch job. After the duration ends, the
- # patch job times out.
- "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
- # job affects. Contains counts of instances in different states. These states
- # map to `InstancePatchState`. List patch job instance details to see the
- # specific states of each instance.
- "inactiveInstanceCount": "A String", # Number of instances that are inactive.
- "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
- "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
- "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
- # ensure that the agent is installed, running, and able to communicate with
- # the service.
- "failedInstanceCount": "A String", # Number of instances that failed.
- "pendingInstanceCount": "A String", # Number of instances pending patch job.
- "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
- "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
- "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
- "rebootingInstanceCount": "A String", # Number of instances rebooting.
- "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
- "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
- "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
- "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
- "startedInstanceCount": "A String", # Number of instances that have started.
- },
- "description": "A String", # Description of the patch job. Length of the description is limited
- # to 1024 characters.
"percentComplete": 3.14, # Reflects the overall progress of the patch job in the range of
# 0.0 being no progress to 100.0 being complete.
+ "createTime": "A String", # Time this patch job was created.
+ "state": "A String", # The current state of the PatchJob.
+ "updateTime": "A String", # Last time this patch job was updated.
+ "errorMessage": "A String", # If this patch job failed, this message provides information about the
+ # failure.
+ "name": "A String", # Unique identifier for this patch job in the form
+ # `projects/*/patchJobs/*`
+ "description": "A String", # Description of the patch job. Length of the description is limited
+ # to 1024 characters.
}</pre>
</div>
@@ -1063,232 +1190,264 @@
{ # A high level representation of a patch job that is either in progress
# or has completed.
#
- # Instances details are not included in the job. To paginate through instance
- # details, use ListPatchJobInstanceDetails.
+ # Instance details are not included in the job. To paginate through instance
+ # details, use `ListPatchJobInstanceDetails`.
#
# For more information about patch jobs, see
# [Creating patch
# jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
- "state": "A String", # The current state of the PatchJob .
- "name": "A String", # Unique identifier for this patch job in the form
- # `projects/*/patchJobs/*`
"displayName": "A String", # Display name for this patch job. This is not a unique identifier.
- "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
- # finished without running any updates on the VM instance.
- "createTime": "A String", # Time this patch job was created.
- "updateTime": "A String", # Last time this patch job was updated.
"patchDeployment": "A String", # Output only. Name of the patch deployment that created this patch job.
- "errorMessage": "A String", # If this patch job failed, this message provides information about the
- # failure.
+ "duration": "A String", # Duration of the patch job. After the duration ends, the
+ # patch job times out.
+ "rollout": { # Patch rollout configuration specifications. Contains details on the # Rollout strategy being applied.
+ # concurrency control when applying patch(es) to all targeted VMs.
+ "disruptionBudget": { # Message encapsulating a value that can be either absolute ("fixed") or # The maximum number (or percentage) of VMs per zone to disrupt at any given
+ # moment. The number of VMs calculated from multiplying the percentage by the
+ # total number of VMs in a zone is rounded up.
+ #
+ # During patching, a VM is considered disrupted from the time the agent is
+ # notified to begin until patching has completed. This disruption time
+ # includes the time to complete reboot and any post-patch steps.
+ #
+ # A VM contributes to the disruption budget if its patching operation fails
+ # either when applying the patches, running pre or post patch steps, or if it
+ # fails to respond with a success notification before timing out. VMs that
+ # are not running or do not have an active agent do not count toward this
+ # disruption budget.
+ #
+ # For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+ # the patch job stops, because continuing to the next zone requires
+ # completion of the patch process in the previous zone.
+ #
+ # For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+ # fail to patch in the current zone, the patch job continues to patch 2 VMs
+ # at a time until the zone is completed. When that zone is completed
+ # successfully, patching begins with 10 VMs at a time in the next zone. If 10
+ # VMs in the next zone fail to patch, the patch job stops.
+ # relative ("percent") to a value.
+ "percent": 42, # Specifies the relative value defined as a percentage, which will be
+ # multiplied by a reference value.
+ "fixed": 42, # Specifies a fixed value.
+ },
+ "mode": "A String", # Mode of the patch rollout.
+ },
"patchConfig": { # Patch configuration specifications. Contains details on how to apply the # Patch configuration being applied.
# patch(es) to a VM instance.
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
- "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
- "classifications": [ # Only apply updates of these windows update classifications. If empty, all
- # updates are applied.
- "A String",
- ],
- "excludes": [ # List of KBs to exclude from update.
- "A String",
- ],
- "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
- # that will be updated. This field must not be used with other
- # patch configurations.
- "A String",
- ],
- },
- "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.
- "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",
- ],
- "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",
- ],
- },
- "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.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
- "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
- "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
- "object": "A String", # Required. Name of the Google Cloud Storage object.
- "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
- # ensure that the ExecStep specified by this PatchJob does not change.
- },
- "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
- # specified the script will be executed directly, which will likely
- # only succeed for scripts with [shebang lines]
- # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
- "localPath": "A String", # An absolute path to the executable on the VM.
- "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
- # execution can return to indicate a success.
- 42,
- ],
- },
- },
"yum": { # Yum patching is performed by executing `yum update`. Additional options # Yum update settings. Use this setting to override the default `yum` patch
# rules.
# can be set to control how this is executed.
#
# Note that not all settings are supported on all platforms.
+ "excludes": [ # List of packages to exclude from update. These packages are excluded by
+ # using the yum `--exclude` flag.
+ "A String",
+ ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field must not be specified with any other patch
# configuration fields.
"A String",
],
+ "minimal": True or False, # Will cause patch to run `yum update-minimal` instead.
"security": True or False, # Adds the `--security` flag to `yum update`. Not supported on
# all platforms.
- "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",
- ],
},
+ "postStep": { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
+ # rules.
+ },
+ "rebootConfig": "A String", # Post-patch reboot settings.
"apt": { # Apt patching is completed by executing `apt-get update && apt-get # Apt update settings. Use this setting to override the default `apt` patch
# rules.
# upgrade`. Additional options can be set to control how this is executed.
- "type": "A String", # By changing the type to DIST, the patching is performed
- # using `apt-get dist-upgrade` instead.
- "excludes": [ # List of packages to exclude from update. These packages will be excluded
- "A String",
- ],
"exclusivePackages": [ # An exclusive list of packages to be updated. These are the only packages
# that will be updated. If these packages are not installed, they will be
# ignored. This field cannot be specified with any other patch configuration
# fields.
"A String",
],
+ "type": "A String", # By changing the type to DIST, the patching is performed
+ # using `apt-get dist-upgrade` instead.
+ "excludes": [ # List of packages to exclude from update. These packages will be excluded
+ "A String",
+ ],
},
- "goo": { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch
- # rules.
+ "windowsUpdate": { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+ "exclusivePatches": [ # An exclusive list of kbs to be updated. These are the only patches
+ # that will be updated. This field must not be used with other
+ # patch configurations.
+ "A String",
+ ],
+ "excludes": [ # List of KBs to exclude from update.
+ "A String",
+ ],
+ "classifications": [ # Only apply updates of these windows update classifications. If empty, all
+ # updates are applied.
+ "A String",
+ ],
},
- "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.
+ "windowsExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ "linuxExecStepConfig": { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ "interpreter": "A String", # The script interpreter to use to run the script. If no interpreter is
+ # specified the script will be executed directly, which will likely
+ # only succeed for scripts with [shebang lines]
+ # (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ "gcsObject": { # Google Cloud Storage object representation. # A Google Cloud Storage object containing the executable.
+ "object": "A String", # Required. Name of the Google Cloud Storage object.
+ "bucket": "A String", # Required. Bucket of the Google Cloud Storage object.
+ "generationNumber": "A String", # Required. Generation number of the Google Cloud Storage object. This is used to
+ # ensure that the ExecStep specified by this PatchJob does not change.
+ },
+ "allowedSuccessCodes": [ # Defaults to [0]. A list of possible return values that the
+ # execution can return to indicate a success.
+ 42,
+ ],
+ "localPath": "A String", # An absolute path to the executable on the VM.
+ },
+ },
+ "zypper": { # Zypper patching is performed by running `zypper patch`. # Zypper update settings. Use this setting to override the default `zypper`
+ # patch rules.
+ # See also https://en.opensuse.org/SDB:Zypper_manual.
+ "exclusivePatches": [ # An exclusive list of patches to be updated. These are the only patches
+ # that will be installed using 'zypper patch patch:<patch_name>' command.
+ # This field must not be used with any other patch configuration fields.
+ "A String",
+ ],
+ "withUpdate": True or False, # Adds the `--with-update` flag, to `zypper patch`.
+ "excludes": [ # List of patches to exclude from update.
+ "A String",
+ ],
+ "severities": [ # Install only patches with these severities.
+ # Common severities include critical, important, moderate, and low.
+ "A String",
+ ],
+ "withOptional": True or False, # Adds the `--with-optional` flag to `zypper patch`.
+ "categories": [ # Install only patches with these categories.
+ # Common categories include security, recommended, and feature.
+ "A String",
+ ],
+ },
},
+ "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
+ # job affects. Contains counts of instances in different states. These states
+ # map to `InstancePatchState`. List patch job instance details to see the
+ # specific states of each instance.
+ "failedInstanceCount": "A String", # Number of instances that failed.
+ "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
+ "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
+ # ensure that the agent is installed, running, and able to communicate with
+ # the service.
+ "startedInstanceCount": "A String", # Number of instances that have started.
+ "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
+ "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
+ "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
+ "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
+ "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
+ "rebootingInstanceCount": "A String", # Number of instances rebooting.
+ "pendingInstanceCount": "A String", # Number of instances pending patch job.
+ "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
+ "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
+ "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
+ "inactiveInstanceCount": "A String", # Number of instances that are inactive.
+ },
+ "dryRun": True or False, # If this patch job is a dry run, the agent reports that it has
+ # finished without running any updates on the VM instance.
"instanceFilter": { # A filter to target VM instances for patching. The targeted # Instances to patch.
# VMs must meet all criteria specified. So if both labels and zones are
# specified, the patch job targets only VMs with those labels and in those
# zones.
+ "all": True or False, # Target all VM instances in the project. If true, no other criteria is
+ # permitted.
"zones": [ # Targets VM instances in ANY of these zones. Leave empty to target VM
# instances in any zone.
"A String",
],
+ "instances": [ # Targets any of the VM instances specified. Instances are specified by their
+ # URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+ # `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+ # `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+ "A String",
+ ],
"groupLabels": [ # Targets VM instances matching at least one of these label sets. This allows
# targeting of disparate groups, for example "env=prod or env=staging".
{ # Represents a group of VMs that can be identified as having all these
# labels, for example "env=prod and app=web".
- "labels": { # Google Compute Engine instance labels that must be present for a VM
- # instance to be targeted by this filter.
+ "labels": { # Compute Engine instance labels that must be present for a VM instance to
+ # be targeted by this filter.
"a_key": "A String",
},
},
],
- "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",
],
},
- "duration": "A String", # Duration of the patch job. After the duration ends, the
- # patch job times out.
- "instanceDetailsSummary": { # A summary of the current patch state across all instances that this patch # Summary of instance details.
- # job affects. Contains counts of instances in different states. These states
- # map to `InstancePatchState`. List patch job instance details to see the
- # specific states of each instance.
- "inactiveInstanceCount": "A String", # Number of instances that are inactive.
- "succeededRebootRequiredInstanceCount": "A String", # Number of instances that require reboot.
- "prePatchStepInstanceCount": "A String", # Number of instances that are running the pre-patch step.
- "noAgentDetectedInstanceCount": "A String", # Number of instances that do not appear to be running the agent. Check to
- # ensure that the agent is installed, running, and able to communicate with
- # the service.
- "failedInstanceCount": "A String", # Number of instances that failed.
- "pendingInstanceCount": "A String", # Number of instances pending patch job.
- "notifiedInstanceCount": "A String", # Number of instances notified about patch job.
- "downloadingPatchesInstanceCount": "A String", # Number of instances that are downloading patches.
- "timedOutInstanceCount": "A String", # Number of instances that exceeded the time out while applying the patch.
- "rebootingInstanceCount": "A String", # Number of instances rebooting.
- "postPatchStepInstanceCount": "A String", # Number of instances that are running the post-patch step.
- "succeededInstanceCount": "A String", # Number of instances that have completed successfully.
- "ackedInstanceCount": "A String", # Number of instances that have acked and will start shortly.
- "applyingPatchesInstanceCount": "A String", # Number of instances that are applying patches.
- "startedInstanceCount": "A String", # Number of instances that have started.
- },
- "description": "A String", # Description of the patch job. Length of the description is limited
- # to 1024 characters.
"percentComplete": 3.14, # Reflects the overall progress of the patch job in the range of
# 0.0 being no progress to 100.0 being complete.
+ "createTime": "A String", # Time this patch job was created.
+ "state": "A String", # The current state of the PatchJob.
+ "updateTime": "A String", # Last time this patch job was updated.
+ "errorMessage": "A String", # If this patch job failed, this message provides information about the
+ # failure.
+ "name": "A String", # Unique identifier for this patch job in the form
+ # `projects/*/patchJobs/*`
+ "description": "A String", # Description of the patch job. Length of the description is limited
+ # to 1024 characters.
},
],
"nextPageToken": "A String", # A pagination token that can be used to get the next page of results.