vmware.vmware_rest.vcenter_vm_storage_policy_compliance module – Check the storage policy compliance of a virtual machine.

Note

This module is part of the vmware.vmware_rest collection (version 5.0.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install vmware.vmware_rest.

To use it in a playbook, specify: vmware.vmware_rest.vcenter_vm_storage_policy_compliance.

New in vmware.vmware_rest 5.0.0

Synopsis

  • Run an on-demand storage policy compliance check for a virtual machine.

  • The check compares the storage policies assigned to the virtual machine’s home directory and virtual disks against the actual storage on which they reside.

  • The compliance results are returned in the response; use vmware.vmware_rest.vcenter_vm_storage_policy_compliance_info to read the last known compliance status without triggering a new check.

Parameters

Parameter

Comments

disks

list / elements=string

The MOIDs (managed object identifiers) of the virtual machine’s virtual disks to check for compliance.

Each identifier must reference a com.vmware.vcenter.vm.hardware.Disk resource.

If omitted, null, or empty, the compliance check is invoked on all disks associated with the virtual machine.

This property was added in vSphere API 6.7.

session_timeout

float

Timeout in seconds for the whole operation including connection establishment, request sending, and response.

Default: 300.0

state

string / required

The desired state of the resource.

Use check to trigger an on-demand storage policy compliance check.

This module only supports the check action and is therefore not idempotent; every run performs a fresh compliance check.

Choices:

  • "check"

vcenter_hostname

string / required

The hostname or IP address of the vSphere vCenter.

If the value is not specified in the task, the value of environment variable VMWARE_HOST will be used instead.

vcenter_password

string / required

The vSphere vCenter password.

If the value is not specified in the task, the value of environment variable VMWARE_PASSWORD will be used instead.

vcenter_port

integer

The port number of the vSphere vCenter.

If the value is not specified in the task, the value of environment variable VMWARE_PORT will be used instead.

vcenter_rest_log_file

string

Optional path to a log file for HTTP REST interaction.

If the value is not specified in the task, the value of environment variable VMWARE_REST_LOG_FILE will be used instead.

vcenter_username

string / required

The vSphere vCenter username.

If the value is not specified in the task, the value of environment variable VMWARE_USER will be used instead.

vcenter_validate_certs

boolean

Allows connection when SSL certificates are not valid.

Set to false when certificates are not trusted.

If the value is not specified in the task, the value of environment variable VMWARE_VALIDATE_CERTS will be used instead.

Choices:

  • false

  • true ← (default)

vm

string / required

The identifier of the virtual machine to check for compliance.

Must be the MOID (managed object identifier) of a Vm resource.

vm_home

boolean

Whether to include the virtual machine’s home directory in the compliance check.

Set to true to check the home directory, false to skip it.

This property was added in vSphere API 6.7.

Choices:

  • false

  • true

Notes

Note

  • Generated from vSphere API spec 9.1.0.

  • Compatible with vSphere API 7.0.3.

  • Compatible with vSphere API 8.0.2.

Examples

- name: Look up the VM called test_vm1 in the inventory
  register: search_result
  vmware.vmware_rest.vcenter_vm_info:
    filter_names:
      - test_vm1

- name: Check storage policy compliance for the whole VM
  vmware.vmware_rest.vcenter_vm_storage_policy_compliance:
    vm: '{{ search_result.value[0].vm }}'
    vm_home: true
    state: check

- name: Check compliance for specific disks only
  vmware.vmware_rest.vcenter_vm_storage_policy_compliance:
    vm: '{{ search_result.value[0].vm }}'
    vm_home: false
    disks:
      - '2000'
      - '2001'
    state: check

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

id

string

MOID of the virtual machine that was checked.

Returned: When state is set to a supported action.

Sample: "vm-1009"

value

any

The raw API response body containing the storage policy compliance results.

Returned: On success

Sample: {"disks": {"2000": {"check_time": "2026-09-14T10:30:00.000Z", "failure_cause": [], "policy": "aa6d5a82-1c88-45da-85d3-3d74b91a5bad", "status": "COMPLIANT"}}, "overall_compliance": "COMPLIANT", "vm_home": {"check_time": "2026-09-14T10:30:00.000Z", "failure_cause": [], "policy": "aa6d5a82-1c88-45da-85d3-3d74b91a5bad", "status": "COMPLIANT"}}

Authors

  • Ansible Eco Content Team (@eco-ansible-content)