community.vmware.vmware_guest_storage_policy module – Set VM Home and disk(s) storage policy profiles.
Note
This module is part of the community.vmware collection (version 5.9.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 community.vmware.
To use it in a playbook, specify: community.vmware.vmware_guest_storage_policy.
Synopsis
- This module can be used to enforce storage policy profiles per disk and/or VM Home on a virtual machine. 
Parameters
| Parameter | Comments | 
|---|---|
| SCSI controller number. Valid values range from 0 to 3. Default:  | |
| Name of the storage profile policy to enforce for the disk. | |
| Disk Unit Number. Valid values range from 0 to 15. | |
| Destination folder, absolute or relative path to find an existing guest. This is a required parameter if multiple VMs are found with same name. The folder should include the datacenter. ESX’s datacenter is ha-datacenter. Examples: folder: /ha-datacenter/vm folder: ha-datacenter/vm folder: /datacenter1/vm folder: datacenter1/vm folder: /datacenter1/vm/folder1 folder: datacenter1/vm/folder1 folder: /folder1/datacenter1/vm folder: folder1/datacenter1/vm folder: /folder1/datacenter1/vm/folder2 | |
| The hostname or IP address of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable  | |
| The password of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable  | |
| The port number of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable  Default:  | |
| Address of a proxy that will receive all HTTPS requests and relay them. The format is a hostname or a IP. If the value is not specified in the task, the value of environment variable  | |
| Port of the HTTP proxy that will receive all HTTPS requests and relay them. If the value is not specified in the task, the value of environment variable  | |
| The username of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable  | |
| Allows connection when SSL certificates are not valid. Set to  If the value is not specified in the task, the value of environment variable  Choices: 
 | |
Notes
Note
- All modules requires API write access and hence is not supported on a free ESXi license. 
- All variables and VMware object names are case sensitive. 
Examples
- name: Enforce storepol1 policy for disk 0 and 1 on SCSI controller 0 using UUID
  community.vmware.vmware_guest_storage_policy:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: false
    uuid: cefd316c-fc19-45f3-a539-2cd03427a78d
    disk:
      - unit_number: 0
        controller_number: 0
        policy: storepol1
      - unit_number: 1
        controller_number: 0
        policy: storepol1
  delegate_to: localhost
  register: policy_status
- name: Enforce storepol1 policy for VM Home using name
  community.vmware.vmware_guest_storage_policy:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: false
    name: hostname1
    vm_home: storepol1
  delegate_to: localhost
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| Dictionary containing the changed policies of disk (list of dictionaries) and vm_home. Returned: always Sample:  | |
| Informational message on the job result. Returned: always Sample:  | 
