chore: Update discovery artifacts (#1562)

## Deleted keys were detected in the following stable discovery artifacts:
androidpublisher v3 https://github.com/googleapis/google-api-python-client/commit/594b20bfc7b724ab1b19b3a8f1df9783f82b25c7
appengine v1 https://github.com/googleapis/google-api-python-client/commit/59606ed1d543608549a574ac1229d20c970399de
retail v2 https://github.com/googleapis/google-api-python-client/commit/8d4f2af1eb762bb626f94bde61614e482477c83a

## Deleted keys were detected in the following pre-stable discovery artifacts:
appengine v1alpha https://github.com/googleapis/google-api-python-client/commit/59606ed1d543608549a574ac1229d20c970399de
appengine v1beta https://github.com/googleapis/google-api-python-client/commit/59606ed1d543608549a574ac1229d20c970399de
dns v1beta2 https://github.com/googleapis/google-api-python-client/commit/3e8173dcdf327abec4f7927cad565a4fdca7382d
retail v2alpha https://github.com/googleapis/google-api-python-client/commit/8d4f2af1eb762bb626f94bde61614e482477c83a
retail v2beta https://github.com/googleapis/google-api-python-client/commit/8d4f2af1eb762bb626f94bde61614e482477c83a

## Discovery Artifact Change Summary:
feat(analyticsadmin): update the api https://github.com/googleapis/google-api-python-client/commit/be347fe46fbee592c9a97d405655ef9a121b1d15
feat(androidpublisher): update the api https://github.com/googleapis/google-api-python-client/commit/594b20bfc7b724ab1b19b3a8f1df9783f82b25c7
feat(appengine): update the api https://github.com/googleapis/google-api-python-client/commit/59606ed1d543608549a574ac1229d20c970399de
feat(area120tables): update the api https://github.com/googleapis/google-api-python-client/commit/f35db63f3e1146ee870334abfd317f168f098600
feat(chromepolicy): update the api https://github.com/googleapis/google-api-python-client/commit/ecaafc4d06c170ac5e1cab7127884a4ea0f17a4c
feat(cloudbuild): update the api https://github.com/googleapis/google-api-python-client/commit/7f6e2e7afba57f065155dc329fd6b7fc1c57c897
feat(cloudsearch): update the api https://github.com/googleapis/google-api-python-client/commit/b6310c5ea4221a69c71558b8911f817a99987b18
feat(container): update the api https://github.com/googleapis/google-api-python-client/commit/01aebc9962e09b7605975e2eee967ac9362bca24
feat(content): update the api https://github.com/googleapis/google-api-python-client/commit/47a79355df5a7e4a87cbaec761c3246abb121fe0
feat(dialogflow): update the api https://github.com/googleapis/google-api-python-client/commit/14e2dce00734d9b58456787bf14752e4b83d2381
feat(dns): update the api https://github.com/googleapis/google-api-python-client/commit/3e8173dcdf327abec4f7927cad565a4fdca7382d
feat(documentai): update the api https://github.com/googleapis/google-api-python-client/commit/fa101412c120778403c48795988e884a9d70f5ea
feat(domains): update the api https://github.com/googleapis/google-api-python-client/commit/9217f6280301716c31544762964c61dbae6deb9d
feat(iap): update the api https://github.com/googleapis/google-api-python-client/commit/178edbddc9ff2b40086d3e1dc1d30757986bca80
feat(managedidentities): update the api https://github.com/googleapis/google-api-python-client/commit/6c7bd384ce9e2e8504a5d97119fbd5bc1527f879
feat(osconfig): update the api https://github.com/googleapis/google-api-python-client/commit/89f87e5122b240ae364ece7ff5a70aa4da3c5d76
feat(redis): update the api https://github.com/googleapis/google-api-python-client/commit/5e0bac188a099153b52d63500667efc3790d8f9a
feat(retail): update the api https://github.com/googleapis/google-api-python-client/commit/8d4f2af1eb762bb626f94bde61614e482477c83a
feat(servicenetworking): update the api https://github.com/googleapis/google-api-python-client/commit/b74f86c26805582014e9c462a8a6a02321612a62
feat(speech): update the api https://github.com/googleapis/google-api-python-client/commit/1fe9ba81f62cf517597e12c86a6c0ba7613da7c2
feat(sqladmin): update the api https://github.com/googleapis/google-api-python-client/commit/1e3c477f32ceee89c347f322d2e5e54eb9cbebef
diff --git a/docs/dyn/osconfig_v1.projects.patchDeployments.html b/docs/dyn/osconfig_v1.projects.patchDeployments.html
index 8c06207..4d754bc 100644
--- a/docs/dyn/osconfig_v1.projects.patchDeployments.html
+++ b/docs/dyn/osconfig_v1.projects.patchDeployments.html
@@ -92,6 +92,9 @@
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update an OS Config patch deployment.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -858,4 +861,359 @@
     </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Update an OS Config patch deployment.
+
+Args:
+  name: string, Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.
+  &quot;duration&quot;: &quot;A String&quot;, # Optional. Duration of the patch. After the duration ends, the patch times out.
+  &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones. # Required. VM instances to patch.
+    &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
+    &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.
+      { # Targets a group of VM instances by using their [assigned labels](https://cloud.google.com/compute/docs/labeling-resources). Labels are key-value pairs. A `GroupLabel` is a combination of labels that is used to target VMs for a patch job. For example, a patch job can target VMs that have the following `GroupLabel`: `{&quot;env&quot;:&quot;test&quot;, &quot;app&quot;:&quot;web&quot;}`. This means that the patch job is applied to VMs that have both the labels `env=test` and `app=web`.
+        &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;instanceNamePrefixes&quot;: [ # 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=&quot;prod-&quot;.
+      &quot;A String&quot;,
+    ],
+    &quot;instances&quot;: [ # 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]`
+      &quot;A String&quot;,
+    ],
+    &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;name&quot;: &quot;A String&quot;, # Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.
+  &quot;oneTimeSchedule&quot;: { # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. # Required. Schedule a one-time execution.
+    &quot;executeTime&quot;: &quot;A String&quot;, # Required. The desired patch job execution time.
+  },
+  &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Optional. Patch configuration that is applied.
+    &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # 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.
+        &quot;A String&quot;,
+      ],
+      &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.
+    },
+    &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
+    },
+    &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
+    &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+      &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of KBs to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # 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.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # 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.
+        &quot;A String&quot;,
+      ],
+      &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+      &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on all platforms.
+    },
+    &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
+      &quot;categories&quot;: [ # Install only patches with these categories. Common categories include security, recommended, and feature.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of patches to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches that will be installed using &#x27;zypper patch patch:&#x27; command. This field must not be used with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;severities&quot;: [ # Install only patches with these severities. Common severities include critical, important, moderate, and low.
+        &quot;A String&quot;,
+      ],
+      &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+      &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+    },
+  },
+  &quot;recurringSchedule&quot;: { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
+    &quot;endTime&quot;: &quot;A String&quot;, # Optional. The end time at which a recurring patch deployment schedule is no longer active.
+    &quot;frequency&quot;: &quot;A String&quot;, # Required. The frequency unit of this recurring schedule.
+    &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the last patch job ran successfully.
+    &quot;monthly&quot;: { # Represents a monthly schedule. An example of a valid monthly schedule is &quot;on the third Tuesday of the month&quot; or &quot;on the 15th of the month&quot;. # Required. Schedule with monthly executions.
+      &quot;monthDay&quot;: 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run &quot;every month on the 31st&quot; will not run in February, April, June, etc.
+      &quot;weekDayOfMonth&quot;: { # Represents one week day in a month. An example is &quot;the 4th Sunday&quot;. # Required. Week day in a month.
+        &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. A day of the week.
+        &quot;weekOrdinal&quot;: 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
+      },
+    },
+    &quot;nextExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the next patch job is scheduled to run.
+    &quot;startTime&quot;: &quot;A String&quot;, # Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.
+    &quot;timeOfDay&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Time of the day to run a recurring deployment.
+      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+    },
+    &quot;timeZone&quot;: { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone.
+      &quot;id&quot;: &quot;A String&quot;, # IANA Time Zone Database time zone, e.g. &quot;America/New_York&quot;.
+      &quot;version&quot;: &quot;A String&quot;, # Optional. IANA Time Zone Database version number, e.g. &quot;2019a&quot;.
+    },
+    &quot;weekly&quot;: { # Represents a weekly schedule. # Required. Schedule with weekly executions.
+      &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Day of the week.
+    },
+  },
+  &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Optional. Rollout strategy of the patch job.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+}
+
+  updateMask: string, Optional. Field mask that controls which fields of the patch deployment should be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.
+  &quot;duration&quot;: &quot;A String&quot;, # Optional. Duration of the patch. After the duration ends, the patch times out.
+  &quot;instanceFilter&quot;: { # A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones. # Required. VM instances to patch.
+    &quot;all&quot;: True or False, # Target all VM instances in the project. If true, no other criteria is permitted.
+    &quot;groupLabels&quot;: [ # Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.
+      { # Targets a group of VM instances by using their [assigned labels](https://cloud.google.com/compute/docs/labeling-resources). Labels are key-value pairs. A `GroupLabel` is a combination of labels that is used to target VMs for a patch job. For example, a patch job can target VMs that have the following `GroupLabel`: `{&quot;env&quot;:&quot;test&quot;, &quot;app&quot;:&quot;web&quot;}`. This means that the patch job is applied to VMs that have both the labels `env=test` and `app=web`.
+        &quot;labels&quot;: { # Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    ],
+    &quot;instanceNamePrefixes&quot;: [ # 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=&quot;prod-&quot;.
+      &quot;A String&quot;,
+    ],
+    &quot;instances&quot;: [ # 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]`
+      &quot;A String&quot;,
+    ],
+    &quot;zones&quot;: [ # Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+  &quot;name&quot;: &quot;A String&quot;, # Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.
+  &quot;oneTimeSchedule&quot;: { # Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. # Required. Schedule a one-time execution.
+    &quot;executeTime&quot;: &quot;A String&quot;, # Required. The desired patch job execution time.
+  },
+  &quot;patchConfig&quot;: { # Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance. # Optional. Patch configuration that is applied.
+    &quot;apt&quot;: { # Apt patching is completed by executing `apt-get update &amp;&amp; apt-get upgrade`. Additional options can be set to control how this is executed. # Apt update settings. Use this setting to override the default `apt` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages will be excluded
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # 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.
+        &quot;A String&quot;,
+      ],
+      &quot;type&quot;: &quot;A String&quot;, # By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.
+    },
+    &quot;goo&quot;: { # Googet patching is performed by running `googet update`. # Goo update settings. Use this setting to override the default `goo` patch rules.
+    },
+    &quot;postStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run after the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;preStep&quot;: { # A step that runs an executable for a PatchJob. # The `ExecStep` to run before the patch update.
+      &quot;linuxExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+      &quot;windowsExecStepConfig&quot;: { # Common configurations for an ExecStep. # The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+        &quot;allowedSuccessCodes&quot;: [ # Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
+          42,
+        ],
+        &quot;gcsObject&quot;: { # Cloud Storage object representation. # A Cloud Storage object containing the executable.
+          &quot;bucket&quot;: &quot;A String&quot;, # Required. Bucket of the Cloud Storage object.
+          &quot;generationNumber&quot;: &quot;A String&quot;, # Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
+          &quot;object&quot;: &quot;A String&quot;, # Required. Name of the Cloud Storage object.
+        },
+        &quot;interpreter&quot;: &quot;A String&quot;, # 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\)).
+        &quot;localPath&quot;: &quot;A String&quot;, # An absolute path to the executable on the VM.
+      },
+    },
+    &quot;rebootConfig&quot;: &quot;A String&quot;, # Post-patch reboot settings.
+    &quot;windowsUpdate&quot;: { # Windows patching is performed using the Windows Update Agent. # Windows update settings. Use this override the default windows patch rules.
+      &quot;classifications&quot;: [ # Only apply updates of these windows update classifications. If empty, all updates are applied.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of KBs to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # 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.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;yum&quot;: { # Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms. # Yum update settings. Use this setting to override the default `yum` patch rules.
+      &quot;excludes&quot;: [ # List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePackages&quot;: [ # 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.
+        &quot;A String&quot;,
+      ],
+      &quot;minimal&quot;: True or False, # Will cause patch to run `yum update-minimal` instead.
+      &quot;security&quot;: True or False, # Adds the `--security` flag to `yum update`. Not supported on all platforms.
+    },
+    &quot;zypper&quot;: { # Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual. # Zypper update settings. Use this setting to override the default `zypper` patch rules.
+      &quot;categories&quot;: [ # Install only patches with these categories. Common categories include security, recommended, and feature.
+        &quot;A String&quot;,
+      ],
+      &quot;excludes&quot;: [ # List of patches to exclude from update.
+        &quot;A String&quot;,
+      ],
+      &quot;exclusivePatches&quot;: [ # An exclusive list of patches to be updated. These are the only patches that will be installed using &#x27;zypper patch patch:&#x27; command. This field must not be used with any other patch configuration fields.
+        &quot;A String&quot;,
+      ],
+      &quot;severities&quot;: [ # Install only patches with these severities. Common severities include critical, important, moderate, and low.
+        &quot;A String&quot;,
+      ],
+      &quot;withOptional&quot;: True or False, # Adds the `--with-optional` flag to `zypper patch`.
+      &quot;withUpdate&quot;: True or False, # Adds the `--with-update` flag, to `zypper patch`.
+    },
+  },
+  &quot;recurringSchedule&quot;: { # Sets the time for recurring patch deployments. # Required. Schedule recurring executions.
+    &quot;endTime&quot;: &quot;A String&quot;, # Optional. The end time at which a recurring patch deployment schedule is no longer active.
+    &quot;frequency&quot;: &quot;A String&quot;, # Required. The frequency unit of this recurring schedule.
+    &quot;lastExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the last patch job ran successfully.
+    &quot;monthly&quot;: { # Represents a monthly schedule. An example of a valid monthly schedule is &quot;on the third Tuesday of the month&quot; or &quot;on the 15th of the month&quot;. # Required. Schedule with monthly executions.
+      &quot;monthDay&quot;: 42, # Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run &quot;every month on the 31st&quot; will not run in February, April, June, etc.
+      &quot;weekDayOfMonth&quot;: { # Represents one week day in a month. An example is &quot;the 4th Sunday&quot;. # Required. Week day in a month.
+        &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. A day of the week.
+        &quot;weekOrdinal&quot;: 42, # Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.
+      },
+    },
+    &quot;nextExecuteTime&quot;: &quot;A String&quot;, # Output only. The time the next patch job is scheduled to run.
+    &quot;startTime&quot;: &quot;A String&quot;, # Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.
+    &quot;timeOfDay&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Time of the day to run a recurring deployment.
+      &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+      &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+      &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+    },
+    &quot;timeZone&quot;: { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone.
+      &quot;id&quot;: &quot;A String&quot;, # IANA Time Zone Database time zone, e.g. &quot;America/New_York&quot;.
+      &quot;version&quot;: &quot;A String&quot;, # Optional. IANA Time Zone Database version number, e.g. &quot;2019a&quot;.
+    },
+    &quot;weekly&quot;: { # Represents a weekly schedule. # Required. Schedule with weekly executions.
+      &quot;dayOfWeek&quot;: &quot;A String&quot;, # Required. Day of the week.
+    },
+  },
+  &quot;rollout&quot;: { # Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. # Optional. Rollout strategy of the patch job.
+    &quot;disruptionBudget&quot;: { # Message encapsulating a value that can be either absolute (&quot;fixed&quot;) or relative (&quot;percent&quot;) to a value. # The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.
+      &quot;fixed&quot;: 42, # Specifies a fixed value.
+      &quot;percent&quot;: 42, # Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
+    },
+    &quot;mode&quot;: &quot;A String&quot;, # Mode of the patch rollout.
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file