---
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_report{% #gcp_osconfig_os_policy_assignment_report %}

## `ancestors`{% #ancestors %}

**Type**: `UNORDERED_LIST_STRING`

## `instance`{% #instance %}

**Type**: `STRING`**Provider name**: `instance`**Description**: The Compute Engine VM instance name.

## `labels`{% #labels %}

**Type**: `UNORDERED_LIST_STRING`

## `last_run_id`{% #last_run_id %}

**Type**: `STRING`**Provider name**: `lastRunId`**Description**: Unique identifier of the last attempted run to apply the OS policies associated with this assignment on the VM. This ID is logged by the OS Config agent while applying the OS policies associated with this assignment on the VM. NOTE: If the service is unable to successfully connect to the agent for this run, then this id will not be available in the agent logs.

## `name`{% #name %}

**Type**: `STRING`**Provider name**: `name`**Description**: The `OSPolicyAssignmentReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report`

## `organization_id`{% #organization_id %}

**Type**: `STRING`

## `os_policy_assignment`{% #os_policy_assignment %}

**Type**: `STRING`**Provider name**: `osPolicyAssignment`**Description**: Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`

## `os_policy_compliances`{% #os_policy_compliances %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `osPolicyCompliances`**Description**: Compliance data for each `OSPolicy` that is applied to the VM.

- `compliance_state`**Type**: `STRING`**Provider name**: `complianceState`**Description**: The compliance state of the OS policy.**Possible values**:
  - `UNKNOWN` - The policy is in an unknown compliance state. Refer to the field `compliance_state_reason` to learn the exact reason for the policy to be in this compliance state.
  - `COMPLIANT` - Policy is compliant. The policy is compliant if all the underlying resources are also compliant.
  - `NON_COMPLIANT` - Policy is non-compliant. The policy is non-compliant if one or more underlying resources are non-compliant.
- `compliance_state_reason`**Type**: `STRING`**Provider name**: `complianceStateReason`**Description**: The reason for the OS policy to be in an unknown compliance state. This field is always populated when `compliance_state` is `UNKNOWN`. If populated, the field can contain one of the following values: * `vm-not-running`: The VM was not running. * `os-policies-not-supported-by-agent`: The version of the OS Config agent running on the VM does not support running OS policies. * `no-agent-detected`: The OS Config agent is not detected for the VM. * `resource-execution-errors`: The OS Config agent encountered errors while executing one or more resources in the policy. See `os_policy_resource_compliances` for details. * `task-timeout`: The task sent to the agent to apply the policy timed out. * `unexpected-agent-state`: The OS Config agent did not report the final status of the task that attempted to apply the policy. Instead, the agent unexpectedly started working on a different task. This mostly happens when the agent or VM unexpectedly restarts while applying OS policies. * `internal-service-errors`: Internal service errors were encountered while attempting to apply the policy. * `os-policy-execution-pending`: OS policy was assigned to the given VM, but was not executed yet. Typically this is a transient condition that will go away after the next policy execution cycle.
- `os_policy_id`**Type**: `STRING`**Provider name**: `osPolicyId`**Description**: The OS policy id
- `os_policy_resource_compliances`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `osPolicyResourceCompliances`**Description**: Compliance data for each resource within the policy that is applied to the VM.
  - `compliance_state`**Type**: `STRING`**Provider name**: `complianceState`**Description**: The compliance state of the resource.**Possible values**:

    - `UNKNOWN` - The resource is in an unknown compliance state. To get more details about why the policy is in this state, review the output of the `compliance_state_reason` field.
    - `COMPLIANT` - Resource is compliant.
    - `NON_COMPLIANT` - Resource is non-compliant.

  - `compliance_state_reason`**Type**: `STRING`**Provider name**: `complianceStateReason`**Description**: A reason for the resource to be in the given compliance state. This field is always populated when `compliance_state` is `UNKNOWN`. The following values are supported when `compliance_state == UNKNOWN` * `execution-errors`: Errors were encountered by the agent while executing the resource and the compliance state couldn't be determined. * `execution-skipped-by-agent`: Resource execution was skipped by the agent because errors were encountered while executing prior resources in the OS policy. * `os-policy-execution-attempt-failed`: The execution of the OS policy containing this resource failed and the compliance state couldn't be determined. * `os-policy-execution-pending`: OS policy that owns this resource was assigned to the given VM, but was not executed yet.

  - `config_steps`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `configSteps`**Description**: Ordered list of configuration completed by the agent for the OS policy resource.

    - `error_message`**Type**: `STRING`**Provider name**: `errorMessage`**Description**: An error message recorded during the execution of this step. Only populated if errors were encountered during this step execution.
    - `type`**Type**: `STRING`**Provider name**: `type`**Description**: Configuration step type.**Possible values**:
      - `TYPE_UNSPECIFIED` - Default value. This value is unused.
      - `VALIDATION` - Checks for resource conflicts such as schema errors.
      - `DESIRED_STATE_CHECK` - Checks the current status of the desired state for a resource.
      - `DESIRED_STATE_ENFORCEMENT` - Enforces the desired state for a resource that is not in desired state.
      - `DESIRED_STATE_CHECK_POST_ENFORCEMENT` - Re-checks the status of the desired state. This check is done for a resource after the enforcement of all OS policies. This step is used to determine the final desired state status for the resource. It accounts for any resources that might have drifted from their desired state due to side effects from executing other resources.

  - `exec_resource_output`**Type**: `STRUCT`**Provider name**: `execResourceOutput`**Description**: ExecResource specific output.

  - `os_policy_resource_id`**Type**: `STRING`**Provider name**: `osPolicyResourceId`**Description**: The ID of the OS policy resource.

## `parent`{% #parent %}

**Type**: `STRING`

## `project_id`{% #project_id %}

**Type**: `STRING`

## `project_number`{% #project_number %}

**Type**: `STRING`

## `region_id`{% #region_id %}

**Type**: `STRING`

## `resource_name`{% #resource_name %}

**Type**: `STRING`

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `update_time`{% #update_time %}

**Type**: `TIMESTAMP`**Provider name**: `updateTime`**Description**: Timestamp for when the report was last generated.

## `zone_id`{% #zone_id %}

**Type**: `STRING`
