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

# gcp_osconfig_os_policy_assignment{% #gcp_osconfig_os_policy_assignment %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `baseline`{% #baseline %}

**Type**: `BOOLEAN`**Provider name**: `baseline`**Description**: Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.

## `deleted`{% #deleted %}

**Type**: `BOOLEAN`**Provider name**: `deleted`**Description**: Output only. Indicates that this revision deletes the OS policy assignment.

## `description`{% #description %}

**Type**: `STRING`**Provider name**: `description`**Description**: OS policy assignment description. Length of the description is limited to 1024 characters.

## `etag`{% #etag %}

**Type**: `STRING`**Provider name**: `etag`**Description**: The etag for this OS policy assignment. If this is provided on update, it must match the server's etag.

## `instance_filter`{% #instance_filter %}

**Type**: `STRUCT`**Provider name**: `instanceFilter`**Description**: Required. Filter to select VMs.

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

- `exclusion_labels`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `exclusionLabels`**Description**: List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM.

- `inclusion_labels`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `inclusionLabels`**Description**: List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.

- `inventories`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `inventories`**Description**: List of inventories to select VMs. A VM is selected if its inventory data matches at least one of the following inventories.

  - `os_short_name`**Type**: `STRING`**Provider name**: `osShortName`**Description**: Required. The OS short name
  - `os_version`**Type**: `STRING`**Provider name**: `osVersion`**Description**: The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `os_policies`{% #os_policies %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `osPolicies`**Description**: Required. List of OS policies to be applied to the VMs.

- `allow_no_resource_group_match`**Type**: `BOOLEAN`**Provider name**: `allowNoResourceGroupMatch`**Description**: This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.
- `description`**Type**: `STRING`**Provider name**: `description`**Description**: Policy description. Length of the description is limited to 1024 characters.
- `id`**Type**: `STRING`**Provider name**: `id`**Description**: Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.
- `mode`**Type**: `STRING`**Provider name**: `mode`**Description**: Required. Policy mode**Possible values**:
  - `MODE_UNSPECIFIED` - Invalid mode
  - `VALIDATION` - This mode checks if the configuration resources in the policy are in their desired state. No actions are performed if they are not in the desired state. This mode is used for reporting purposes.
  - `ENFORCEMENT` - This mode checks if the configuration resources in the policy are in their desired state, and if not, enforces the desired state.
- `resource_groups`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `resourceGroups`**Description**: Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`
  - `inventory_filters`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `inventoryFilters`**Description**: List of inventory filters for the resource group. The resources in this resource group are applied to the target VM if it satisfies at least one of the following inventory filters. For example, to apply this resource group to VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for the list with following values: inventory_filters[0].os_short_name='rhel' and inventory_filters[1].os_short_name='centos' If the list is empty, this resource group will be applied to the target VM unconditionally.
    - `os_short_name`**Type**: `STRING`**Provider name**: `osShortName`**Description**: Required. The OS short name
    - `os_version`**Type**: `STRING`**Provider name**: `osVersion`**Description**: The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.
  - `resources`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `resources`**Description**: Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.
    - `exec`**Type**: `STRUCT`**Provider name**: `exec`**Description**: Exec resource
      - `enforce`**Type**: `STRUCT`**Provider name**: `enforce`**Description**: What to run to bring this resource into the desired state. An exit code of 100 indicates "success", any other exit code indicates a failure running enforce.
        - `args`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `args`**Description**: Optional arguments to pass to the source during execution.
        - `file`**Type**: `STRUCT`**Provider name**: `file`**Description**: A remote or local file.
          - `allow_insecure`**Type**: `BOOLEAN`**Provider name**: `allowInsecure`**Description**: Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
          - `gcs`**Type**: `STRUCT`**Provider name**: `gcs`**Description**: A Cloud Storage object.
            - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
            - `generation`**Type**: `STRING`**Provider name**: `generation`**Description**: Generation number of the Cloud Storage object.
            - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
          - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: A local path within the VM to use.
          - `remote`**Type**: `STRUCT`**Provider name**: `remote`**Description**: A generic remote file.
            - `sha256_checksum`**Type**: `STRING`**Provider name**: `sha256Checksum`**Description**: SHA256 checksum of the remote file.
            - `uri`**Type**: `STRING`**Provider name**: `uri`**Description**: Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
        - `interpreter`**Type**: `STRING`**Provider name**: `interpreter`**Description**: Required. The script interpreter to use.**Possible values**:
          - `INTERPRETER_UNSPECIFIED` - Invalid value, the request will return validation error.
          - `NONE` - If an interpreter is not specified, the source is executed directly. This execution, without an interpreter, only succeeds for executables and scripts that have shebang lines.
          - `SHELL` - Indicates that the script runs with `/bin/sh` on Linux and `cmd.exe` on Windows.
          - `POWERSHELL` - Indicates that the script runs with PowerShell.
        - `output_file_path`**Type**: `STRING`**Provider name**: `outputFilePath`**Description**: Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 500K bytes.
        - `script`**Type**: `STRING`**Provider name**: `script`**Description**: An inline script. The size of the script is limited to 32KiB.
      - `validate`**Type**: `STRUCT`**Provider name**: `validate`**Description**: Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates "in desired state", and exit code of 101 indicates "not in desired state". Any other exit code indicates a failure running validate.
        - `args`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `args`**Description**: Optional arguments to pass to the source during execution.
        - `file`**Type**: `STRUCT`**Provider name**: `file`**Description**: A remote or local file.
          - `allow_insecure`**Type**: `BOOLEAN`**Provider name**: `allowInsecure`**Description**: Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
          - `gcs`**Type**: `STRUCT`**Provider name**: `gcs`**Description**: A Cloud Storage object.
            - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
            - `generation`**Type**: `STRING`**Provider name**: `generation`**Description**: Generation number of the Cloud Storage object.
            - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
          - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: A local path within the VM to use.
          - `remote`**Type**: `STRUCT`**Provider name**: `remote`**Description**: A generic remote file.
            - `sha256_checksum`**Type**: `STRING`**Provider name**: `sha256Checksum`**Description**: SHA256 checksum of the remote file.
            - `uri`**Type**: `STRING`**Provider name**: `uri`**Description**: Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
        - `interpreter`**Type**: `STRING`**Provider name**: `interpreter`**Description**: Required. The script interpreter to use.**Possible values**:
          - `INTERPRETER_UNSPECIFIED` - Invalid value, the request will return validation error.
          - `NONE` - If an interpreter is not specified, the source is executed directly. This execution, without an interpreter, only succeeds for executables and scripts that have shebang lines.
          - `SHELL` - Indicates that the script runs with `/bin/sh` on Linux and `cmd.exe` on Windows.
          - `POWERSHELL` - Indicates that the script runs with PowerShell.
        - `output_file_path`**Type**: `STRING`**Provider name**: `outputFilePath`**Description**: Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 500K bytes.
        - `script`**Type**: `STRING`**Provider name**: `script`**Description**: An inline script. The size of the script is limited to 32KiB.
    - `file`**Type**: `STRUCT`**Provider name**: `file`**Description**: File resource
      - `content`**Type**: `STRING`**Provider name**: `content`**Description**: A a file with this content. The size of the content is limited to 32KiB.
      - `file`**Type**: `STRUCT`**Provider name**: `file`**Description**: A remote or local source.
        - `allow_insecure`**Type**: `BOOLEAN`**Provider name**: `allowInsecure`**Description**: Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
        - `gcs`**Type**: `STRUCT`**Provider name**: `gcs`**Description**: A Cloud Storage object.
          - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
          - `generation`**Type**: `STRING`**Provider name**: `generation`**Description**: Generation number of the Cloud Storage object.
          - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
        - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: A local path within the VM to use.
        - `remote`**Type**: `STRUCT`**Provider name**: `remote`**Description**: A generic remote file.
          - `sha256_checksum`**Type**: `STRING`**Provider name**: `sha256Checksum`**Description**: SHA256 checksum of the remote file.
          - `uri`**Type**: `STRING`**Provider name**: `uri`**Description**: Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
      - `path`**Type**: `STRING`**Provider name**: `path`**Description**: Required. The absolute path of the file within the VM.
      - `permissions`**Type**: `STRING`**Provider name**: `permissions`**Description**: Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4
      - `state`**Type**: `STRING`**Provider name**: `state`**Description**: Required. Desired state of the file.**Possible values**:
        - `DESIRED_STATE_UNSPECIFIED` - Unspecified is invalid.
        - `PRESENT` - Ensure file at path is present.
        - `ABSENT` - Ensure file at path is absent.
        - `CONTENTS_MATCH` - Ensure the contents of the file at path matches. If the file does not exist it will be created.
    - `id`**Type**: `STRING`**Provider name**: `id`**Description**: Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.
    - `pkg`**Type**: `STRUCT`**Provider name**: `pkg`**Description**: Package resource
      - `apt`**Type**: `STRUCT`**Provider name**: `apt`**Description**: A package managed by Apt.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. Package name.
      - `deb`**Type**: `STRUCT`**Provider name**: `deb`**Description**: A deb package file.
        - `gcp_source`**Type**: `STRUCT`**Provider name**: `source`**Description**: Required. A deb package.
          - `allow_insecure`**Type**: `BOOLEAN`**Provider name**: `allowInsecure`**Description**: Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
          - `gcs`**Type**: `STRUCT`**Provider name**: `gcs`**Description**: A Cloud Storage object.
            - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
            - `generation`**Type**: `STRING`**Provider name**: `generation`**Description**: Generation number of the Cloud Storage object.
            - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
          - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: A local path within the VM to use.
          - `remote`**Type**: `STRUCT`**Provider name**: `remote`**Description**: A generic remote file.
            - `sha256_checksum`**Type**: `STRING`**Provider name**: `sha256Checksum`**Description**: SHA256 checksum of the remote file.
            - `uri`**Type**: `STRING`**Provider name**: `uri`**Description**: Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
        - `pull_deps`**Type**: `BOOLEAN`**Provider name**: `pullDeps`**Description**: Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb`
      - `desired_state`**Type**: `STRING`**Provider name**: `desiredState`**Description**: Required. The desired state the agent should maintain for this package.**Possible values**:
        - `DESIRED_STATE_UNSPECIFIED` - Unspecified is invalid.
        - `INSTALLED` - Ensure that the package is installed.
        - `REMOVED` - The agent ensures that the package is not installed and uninstalls it if detected.
      - `googet`**Type**: `STRUCT`**Provider name**: `googet`**Description**: A package managed by GooGet.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. Package name.
      - `msi`**Type**: `STRUCT`**Provider name**: `msi`**Description**: An MSI package.
        - `gcp_source`**Type**: `STRUCT`**Provider name**: `source`**Description**: Required. The MSI package.
          - `allow_insecure`**Type**: `BOOLEAN`**Provider name**: `allowInsecure`**Description**: Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
          - `gcs`**Type**: `STRUCT`**Provider name**: `gcs`**Description**: A Cloud Storage object.
            - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
            - `generation`**Type**: `STRING`**Provider name**: `generation`**Description**: Generation number of the Cloud Storage object.
            - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
          - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: A local path within the VM to use.
          - `remote`**Type**: `STRUCT`**Provider name**: `remote`**Description**: A generic remote file.
            - `sha256_checksum`**Type**: `STRING`**Provider name**: `sha256Checksum`**Description**: SHA256 checksum of the remote file.
            - `uri`**Type**: `STRING`**Provider name**: `uri`**Description**: Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
        - `properties`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `properties`**Description**: Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.
      - `rpm`**Type**: `STRUCT`**Provider name**: `rpm`**Description**: An rpm package file.
        - `gcp_source`**Type**: `STRUCT`**Provider name**: `source`**Description**: Required. An rpm package.
          - `allow_insecure`**Type**: `BOOLEAN`**Provider name**: `allowInsecure`**Description**: Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
          - `gcs`**Type**: `STRUCT`**Provider name**: `gcs`**Description**: A Cloud Storage object.
            - `bucket`**Type**: `STRING`**Provider name**: `bucket`**Description**: Required. Bucket of the Cloud Storage object.
            - `generation`**Type**: `STRING`**Provider name**: `generation`**Description**: Generation number of the Cloud Storage object.
            - `object`**Type**: `STRING`**Provider name**: `object`**Description**: Required. Name of the Cloud Storage object.
          - `local_path`**Type**: `STRING`**Provider name**: `localPath`**Description**: A local path within the VM to use.
          - `remote`**Type**: `STRUCT`**Provider name**: `remote`**Description**: A generic remote file.
            - `sha256_checksum`**Type**: `STRING`**Provider name**: `sha256Checksum`**Description**: SHA256 checksum of the remote file.
            - `uri`**Type**: `STRING`**Provider name**: `uri`**Description**: Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.
        - `pull_deps`**Type**: `BOOLEAN`**Provider name**: `pullDeps`**Description**: Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
      - `yum`**Type**: `STRUCT`**Provider name**: `yum`**Description**: A package managed by YUM.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. Package name.
      - `zypper`**Type**: `STRUCT`**Provider name**: `zypper`**Description**: A package managed by Zypper.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. Package name.
    - `repository`**Type**: `STRUCT`**Provider name**: `repository`**Description**: Package repository resource
      - `apt`**Type**: `STRUCT`**Provider name**: `apt`**Description**: An Apt Repository.
        - `archive_type`**Type**: `STRING`**Provider name**: `archiveType`**Description**: Required. Type of archive files in this repository.**Possible values**:
          - `ARCHIVE_TYPE_UNSPECIFIED` - Unspecified is invalid.
          - `DEB` - Deb indicates that the archive contains binary files.
          - `DEB_SRC` - Deb-src indicates that the archive contains source files.
        - `components`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `components`**Description**: Required. List of components for this repository. Must contain at least one item.
        - `distribution`**Type**: `STRING`**Provider name**: `distribution`**Description**: Required. Distribution of this repository.
        - `gpg_key`**Type**: `STRING`**Provider name**: `gpgKey`**Description**: URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
        - `uri`**Type**: `STRING`**Provider name**: `uri`**Description**: Required. URI for this repository.
      - `goo`**Type**: `STRUCT`**Provider name**: `goo`**Description**: A Goo Repository.
        - `name`**Type**: `STRING`**Provider name**: `name`**Description**: Required. The name of the repository.
        - `url`**Type**: `STRING`**Provider name**: `url`**Description**: Required. The url of the repository.
      - `yum`**Type**: `STRUCT`**Provider name**: `yum`**Description**: A Yum Repository.
        - `base_url`**Type**: `STRING`**Provider name**: `baseUrl`**Description**: Required. The location of the repository directory.
        - `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: The display name of the repository.
        - `gpg_keys`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `gpgKeys`**Description**: URIs of GPG keys.
        - `id`**Type**: `STRING`**Provider name**: `id`**Description**: Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.
      - `zypper`**Type**: `STRUCT`**Provider name**: `zypper`**Description**: A Zypper Repository.
        - `base_url`**Type**: `STRING`**Provider name**: `baseUrl`**Description**: Required. The location of the repository directory.
        - `gcp_display_name`**Type**: `STRING`**Provider name**: `displayName`**Description**: The display name of the repository.
        - `gpg_keys`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `gpgKeys`**Description**: URIs of GPG keys.
        - `id`**Type**: `STRING`**Provider name**: `id`**Description**: Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.

## `parent`{% #parent %}

**Type**: `STRING`

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `reconciling`{% #reconciling %}

**Type**: `BOOLEAN`**Provider name**: `reconciling`**Description**: Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `revision_create_time`{% #revision_create_time %}

**Type**: `TIMESTAMP`**Provider name**: `revisionCreateTime`**Description**: Output only. The timestamp that the revision was created.

## `revision_id`{% #revision_id %}

**Type**: `STRING`**Provider name**: `revisionId`**Description**: Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment

## `rollout`{% #rollout %}

**Type**: `STRUCT`**Provider name**: `rollout`**Description**: Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted.

- `disruption_budget`**Type**: `STRUCT`**Provider name**: `disruptionBudget`**Description**: Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment.
  - `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.
- `min_wait_duration`**Type**: `STRING`**Provider name**: `minWaitDuration`**Description**: Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.

## `rollout_state`{% #rollout_state %}

**Type**: `STRING`**Provider name**: `rolloutState`**Description**: Output only. OS policy assignment rollout state**Possible values**:

- `ROLLOUT_STATE_UNSPECIFIED` - Invalid value
- `IN_PROGRESS` - The rollout is in progress.
- `CANCELLING` - The rollout is being cancelled.
- `CANCELLED` - The rollout is cancelled.
- `SUCCEEDED` - The rollout has completed successfully.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `uid`{% #uid %}

**Type**: `STRING`**Provider name**: `uid`**Description**: Output only. Server generated unique id for the OS policy assignment resource.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
