---
title: Getting Started with Datadog
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Infrastructure > Datadog Resource Catalog
---

# gcp_osconfig_patch_deployment{% #gcp_osconfig_patch_deployment %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `create_time`{% #create_time %}

**Type**: `TIMESTAMP`**Provider name**: `createTime`**Description**: Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.

## `description`{% #description %}

**Type**: `STRING`**Provider name**: `description`**Description**: Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.

## `duration`{% #duration %}

**Type**: `STRING`**Provider name**: `duration`**Description**: Optional. Duration of the patch. After the duration ends, the patch times out.

## `instance_filter`{% #instance_filter %}

**Type**: `STRUCT`**Provider name**: `instanceFilter`**Description**: Required. VM instances to patch.

- `all`**Type**: `BOOLEAN`**Provider name**: `all`**Description**: Target all VM instances in the project. If true, no other criteria is permitted.

- `group_labels`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `groupLabels`**Description**: Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.

- `instance_name_prefixes`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `instanceNamePrefixes`**Description**: 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-".

- `instances`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `instances`**Description**: 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]`

- `zones`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `zones`**Description**: Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `last_execute_time`{% #last_execute_time %}

**Type**: `TIMESTAMP`**Provider name**: `lastExecuteTime`**Description**: 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.

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: 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.

## `one_time_schedule`{% #one_time_schedule %}

**Type**: `STRUCT`**Provider name**: `oneTimeSchedule`**Description**: Required. Schedule a one-time execution.

- `execute_time`**Type**: `TIMESTAMP`**Provider name**: `executeTime`**Description**: Required. The desired patch job execution time.

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `parent`{% #parent %}

**Type**: `STRING`

## `patch_config`{% #patch_config %}

**Type**: `STRUCT`**Provider name**: `patchConfig`**Description**: Optional. Patch configuration that is applied.

- `apt`**Type**: `STRUCT`**Provider name**: `apt`**Description**: Apt update settings. Use this setting to override the default `apt` patch rules.

  - `excludes`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `excludes`**Description**: List of packages to exclude from update. These packages will be excluded
  - `exclusive_packages`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `exclusivePackages`**Description**: 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.
  - `type`**Type**: `STRING`**Provider name**: `type`**Description**: By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.**Possible values**:
    - `TYPE_UNSPECIFIED` - By default, upgrade will be performed.
    - `DIST` - Runs `apt-get dist-upgrade`.
    - `UPGRADE` - Runs `apt-get upgrade`.

- `goo`**Type**: `STRUCT`**Provider name**: `goo`**Description**: Goo update settings. Use this setting to override the default `goo` patch rules.

- `mig_instances_allowed`**Type**: `BOOLEAN`**Provider name**: `migInstancesAllowed`**Description**: Allows the patch job to run on Managed instance groups (MIGs).

- `post_step`**Type**: `STRUCT`**Provider name**: `postStep`**Description**: The `ExecStep` to run after the patch update.

  - `linux_exec_step_config`**Type**: `STRUCT`**Provider name**: `linuxExecStepConfig`**Description**: The ExecStepConfig for all Linux VMs targeted by the PatchJob.
    - `allowed_success_codes`**Type**: `UNORDERED_LIST_INT32`**Provider name**: `allowedSuccessCodes`**Description**: Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    - `gcs_object`**Type**: `STRUCT`**Provider name**: `gcsObject`**Description**: A Cloud Storage object containing the executable.
      - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
      - `generation_number`**Type**: `INT64`**Provider name**: `generationNumber`**Description**: Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
      - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
    - `interpreter`**Type**: `STRING`**Provider name**: `interpreter`**Description**: 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](https://en.wikipedia.org/wiki/Shebang)_(Unix)).**Possible values**:
      - `INTERPRETER_UNSPECIFIED` - If the interpreter is not specified, the value defaults to `NONE`.
      - `NONE` - Indicates that the file is run as follows on each operating system: + For Linux VMs, the file is ran as an executable and the interpreter might be parsed from the [shebang line](https://wikipedia.org/wiki/Shebang_%28Unix%29) of the file. + For Windows VM, this value is not supported.
      - `SHELL` - Indicates that the file is run with `/bin/sh` on Linux and `cmd` on Windows.
      - `POWERSHELL` - Indicates that the file is run with PowerShell.
    - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: An absolute path to the executable on the VM.
  - `windows_exec_step_config`**Type**: `STRUCT`**Provider name**: `windowsExecStepConfig`**Description**: The ExecStepConfig for all Windows VMs targeted by the PatchJob.
    - `allowed_success_codes`**Type**: `UNORDERED_LIST_INT32`**Provider name**: `allowedSuccessCodes`**Description**: Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    - `gcs_object`**Type**: `STRUCT`**Provider name**: `gcsObject`**Description**: A Cloud Storage object containing the executable.
      - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
      - `generation_number`**Type**: `INT64`**Provider name**: `generationNumber`**Description**: Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
      - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
    - `interpreter`**Type**: `STRING`**Provider name**: `interpreter`**Description**: 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](https://en.wikipedia.org/wiki/Shebang)_(Unix)).**Possible values**:
      - `INTERPRETER_UNSPECIFIED` - If the interpreter is not specified, the value defaults to `NONE`.
      - `NONE` - Indicates that the file is run as follows on each operating system: + For Linux VMs, the file is ran as an executable and the interpreter might be parsed from the [shebang line](https://wikipedia.org/wiki/Shebang_%28Unix%29) of the file. + For Windows VM, this value is not supported.
      - `SHELL` - Indicates that the file is run with `/bin/sh` on Linux and `cmd` on Windows.
      - `POWERSHELL` - Indicates that the file is run with PowerShell.
    - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: An absolute path to the executable on the VM.

- `pre_step`**Type**: `STRUCT`**Provider name**: `preStep`**Description**: The `ExecStep` to run before the patch update.

  - `linux_exec_step_config`**Type**: `STRUCT`**Provider name**: `linuxExecStepConfig`**Description**: The ExecStepConfig for all Linux VMs targeted by the PatchJob.
    - `allowed_success_codes`**Type**: `UNORDERED_LIST_INT32`**Provider name**: `allowedSuccessCodes`**Description**: Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    - `gcs_object`**Type**: `STRUCT`**Provider name**: `gcsObject`**Description**: A Cloud Storage object containing the executable.
      - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
      - `generation_number`**Type**: `INT64`**Provider name**: `generationNumber`**Description**: Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
      - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
    - `interpreter`**Type**: `STRING`**Provider name**: `interpreter`**Description**: 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](https://en.wikipedia.org/wiki/Shebang)_(Unix)).**Possible values**:
      - `INTERPRETER_UNSPECIFIED` - If the interpreter is not specified, the value defaults to `NONE`.
      - `NONE` - Indicates that the file is run as follows on each operating system: + For Linux VMs, the file is ran as an executable and the interpreter might be parsed from the [shebang line](https://wikipedia.org/wiki/Shebang_%28Unix%29) of the file. + For Windows VM, this value is not supported.
      - `SHELL` - Indicates that the file is run with `/bin/sh` on Linux and `cmd` on Windows.
      - `POWERSHELL` - Indicates that the file is run with PowerShell.
    - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: An absolute path to the executable on the VM.
  - `windows_exec_step_config`**Type**: `STRUCT`**Provider name**: `windowsExecStepConfig`**Description**: The ExecStepConfig for all Windows VMs targeted by the PatchJob.
    - `allowed_success_codes`**Type**: `UNORDERED_LIST_INT32`**Provider name**: `allowedSuccessCodes`**Description**: Defaults to [0]. A list of possible return values that the execution can return to indicate a success.
    - `gcs_object`**Type**: `STRUCT`**Provider name**: `gcsObject`**Description**: A Cloud Storage object containing the executable.
      - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
      - `generation_number`**Type**: `INT64`**Provider name**: `generationNumber`**Description**: Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
      - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
    - `interpreter`**Type**: `STRING`**Provider name**: `interpreter`**Description**: 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](https://en.wikipedia.org/wiki/Shebang)_(Unix)).**Possible values**:
      - `INTERPRETER_UNSPECIFIED` - If the interpreter is not specified, the value defaults to `NONE`.
      - `NONE` - Indicates that the file is run as follows on each operating system: + For Linux VMs, the file is ran as an executable and the interpreter might be parsed from the [shebang line](https://wikipedia.org/wiki/Shebang_%28Unix%29) of the file. + For Windows VM, this value is not supported.
      - `SHELL` - Indicates that the file is run with `/bin/sh` on Linux and `cmd` on Windows.
      - `POWERSHELL` - Indicates that the file is run with PowerShell.
    - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: An absolute path to the executable on the VM.

- `reboot_config`**Type**: `STRING`**Provider name**: `rebootConfig`**Description**: Post-patch reboot settings.**Possible values**:

  - `REBOOT_CONFIG_UNSPECIFIED` - The default behavior is DEFAULT.
  - `DEFAULT` - The agent decides if a reboot is necessary by checking signals such as registry keys on Windows or `/var/run/reboot-required` on APT based systems. On RPM based systems, a set of core system package install times are compared with system boot time.
  - `ALWAYS` - Always reboot the machine after the update completes.
  - `NEVER` - Never reboot the machine after the update completes.

- `windows_update`**Type**: `STRUCT`**Provider name**: `windowsUpdate`**Description**: Windows update settings. Use this override the default windows patch rules.

  - `classifications`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `classifications`**Description**: Only apply updates of these windows update classifications. If empty, all updates are applied.
  - `excludes`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `excludes`**Description**: List of KBs to exclude from update.
  - `exclusive_patches`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `exclusivePatches`**Description**: 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.

- `yum`**Type**: `STRUCT`**Provider name**: `yum`**Description**: Yum update settings. Use this setting to override the default `yum` patch rules.

  - `excludes`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `excludes`**Description**: List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.
  - `exclusive_packages`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `exclusivePackages`**Description**: 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.
  - `minimal`**Type**: `BOOLEAN`**Provider name**: `minimal`**Description**: Will cause patch to run `yum update-minimal` instead.
  - `security`**Type**: `BOOLEAN`**Provider name**: `security`**Description**: Adds the `--security` flag to `yum update`. Not supported on all platforms.

- `zypper`**Type**: `STRUCT`**Provider name**: `zypper`**Description**: Zypper update settings. Use this setting to override the default `zypper` patch rules.

  - `categories`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `categories`**Description**: Install only patches with these categories. Common categories include security, recommended, and feature.
  - `excludes`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `excludes`**Description**: List of patches to exclude from update.
  - `exclusive_patches`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `exclusivePatches`**Description**: An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.
  - `severities`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `severities`**Description**: Install only patches with these severities. Common severities include critical, important, moderate, and low.
  - `with_optional`**Type**: `BOOLEAN`**Provider name**: `withOptional`**Description**: Adds the `--with-optional` flag to `zypper patch`.
  - `with_update`**Type**: `BOOLEAN`**Provider name**: `withUpdate`**Description**: Adds the `--with-update` flag, to `zypper patch`.

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `recurring_schedule`{% #recurring_schedule %}

**Type**: `STRUCT`**Provider name**: `recurringSchedule`**Description**: Required. Schedule recurring executions.

- `end_time`**Type**: `TIMESTAMP`**Provider name**: `endTime`**Description**: Optional. The end time at which a recurring patch deployment schedule is no longer active.
- `frequency`**Type**: `STRING`**Provider name**: `frequency`**Description**: Required. The frequency unit of this recurring schedule.**Possible values**:
  - `FREQUENCY_UNSPECIFIED` - Invalid. A frequency must be specified.
  - `WEEKLY` - Indicates that the frequency of recurrence should be expressed in terms of weeks.
  - `MONTHLY` - Indicates that the frequency of recurrence should be expressed in terms of months.
  - `DAILY` - Indicates that the frequency of recurrence should be expressed in terms of days.
- `last_execute_time`**Type**: `TIMESTAMP`**Provider name**: `lastExecuteTime`**Description**: Output only. The time the last patch job ran successfully.
- `monthly`**Type**: `STRUCT`**Provider name**: `monthly`**Description**: Required. Schedule with monthly executions.
  - `month_day`**Type**: `INT32`**Provider name**: `monthDay`**Description**: Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" will not run in February, April, June, etc.
  - `week_day_of_month`**Type**: `STRUCT`**Provider name**: `weekDayOfMonth`**Description**: Required. Week day in a month.
    - `day_of_week`**Type**: `STRING`**Provider name**: `dayOfWeek`**Description**: Required. A day of the week.**Possible values**:
      - `DAY_OF_WEEK_UNSPECIFIED` - The day of the week is unspecified.
      - `MONDAY` - Monday
      - `TUESDAY` - Tuesday
      - `WEDNESDAY` - Wednesday
      - `THURSDAY` - Thursday
      - `FRIDAY` - Friday
      - `SATURDAY` - Saturday
      - `SUNDAY` - Sunday
    - `day_offset`**Type**: `INT32`**Provider name**: `dayOffset`**Description**: Optional. Represents the number of days before or after the given week day of month that the patch deployment is scheduled for. For example if `week_ordinal` and `day_of_week` values point to the second Tuesday of the month and the `day_offset` value is set to `3`, patch deployment takes place three days after the second Tuesday of the month. If this value is negative, for example -5, patches are deployed five days before the second Tuesday of the month. Allowed values are in range [-30, 30].
    - `week_ordinal`**Type**: `INT32`**Provider name**: `weekOrdinal`**Description**: 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.
- `next_execute_time`**Type**: `TIMESTAMP`**Provider name**: `nextExecuteTime`**Description**: Output only. The time the next patch job is scheduled to run.
- `start_time`**Type**: `TIMESTAMP`**Provider name**: `startTime`**Description**: Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.
- `time_of_day`**Type**: `STRUCT`**Provider name**: `timeOfDay`**Description**: Required. Time of the day to run a recurring deployment.
  - `hours`**Type**: `INT32`**Provider name**: `hours`**Description**: Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
  - `minutes`**Type**: `INT32`**Provider name**: `minutes`**Description**: Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
  - `nanos`**Type**: `INT32`**Provider name**: `nanos`**Description**: Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
  - `seconds`**Type**: `INT32`**Provider name**: `seconds`**Description**: Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
- `time_zone`**Type**: `STRUCT`**Provider name**: `timeZone`**Description**: 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.
  - `id`**Type**: `STRING`**Provider name**: `id`**Description**: IANA Time Zone Database time zone. For example "America/New_York".
  - `version`**Type**: `STRING`**Provider name**: `version`**Description**: Optional. IANA Time Zone Database version number. For example "2019a".
- `weekly`**Type**: `STRUCT`**Provider name**: `weekly`**Description**: Required. Schedule with weekly executions.
  - `day_of_week`**Type**: `STRING`**Provider name**: `dayOfWeek`**Description**: Required. Day of the week.**Possible values**:
    - `DAY_OF_WEEK_UNSPECIFIED` - The day of the week is unspecified.
    - `MONDAY` - Monday
    - `TUESDAY` - Tuesday
    - `WEDNESDAY` - Wednesday
    - `THURSDAY` - Thursday
    - `FRIDAY` - Friday
    - `SATURDAY` - Saturday
    - `SUNDAY` - Sunday

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `rollout`{% #rollout %}

**Type**: `STRUCT`**Provider name**: `rollout`**Description**: Optional. Rollout strategy of the patch job.

- `disruption_budget`**Type**: `STRUCT`**Provider name**: `disruptionBudget`**Description**: The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.
  - `fixed`**Type**: `INT32`**Provider name**: `fixed`**Description**: Specifies a fixed value.
  - `percent`**Type**: `INT32`**Provider name**: `percent`**Description**: Specifies the relative value defined as a percentage, which will be multiplied by a reference value.
- `mode`**Type**: `STRING`**Provider name**: `mode`**Description**: Mode of the patch rollout.**Possible values**:
  - `MODE_UNSPECIFIED` - Mode must be specified.
  - `ZONE_BY_ZONE` - Patches are applied one zone at a time. The patch job begins in the region with the lowest number of targeted VMs. Within the region, patching begins in the zone with the lowest number of targeted VMs. If multiple regions (or zones within a region) have the same number of targeted VMs, a tie-breaker is achieved by sorting the regions or zones in alphabetical order.
  - `CONCURRENT_ZONES` - Patches are applied to VMs in all zones at the same time.

## `state`{% #state %}

**Type**: `STRING`**Provider name**: `state`**Description**: Output only. Current state of the patch deployment.**Possible values**:

- `STATE_UNSPECIFIED` - The default value. This value is used if the state is omitted.
- `ACTIVE` - Active value means that patch deployment generates Patch Jobs.
- `PAUSED` - Paused value means that patch deployment does not generate Patch jobs. Requires user action to move in and out from this state.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `update_time`{% #update_time %}

**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
