Introduction
- Module:
community.vmware.vmware_guest_disk
- Purpose: Manage disks related to virtual machines in a given vCenter infrastructure
The Ansible module vmware_guest_disk is part of the community-supported collection of modules for interacting with VMware. It manages disks associated with virtual machines within a specified vCenter infrastructure.
Parameters Overview
- Connection Details:
- hostname (string)
- username (string)
- password (string)
- datacenter (string)
- validate_certs (boolean)
- SCSI Controller Details:
- scsi_controller (string)
- unit_number (string)
- scsi_type (string)
- Disk Size:
- size_kb / size_mb / size_gb / size_tb (string)
- Disk Mode:
- disk_mode (string: persistent, independent_persistent, independent_nonpersistent)
To add a disk to a VMware vSphere Virtual Machine using the vmware_guest_disk module, you must first establish a connection to VMware vSphere or VMware vCenter. This is done using parameters such as hostname, username, password, datacenter, and validate_certs.
Once connected, you can specify the desired disk configuration to add a new disk to the virtual machine. The required parameters are datacenter and unit_number. The datacenter parameter identifies the datacenter to which the virtual machine belongs.
The disk must be connected to a SCSI controller inside the virtual machine, so parameters like scsi_controller, unit_number, and scsi_type are essential. You can specify the disk size using units like KB, MB, GB, or TB.
One crucial parameter is disk_mode, which defaults to persistent. Other options include independent_persistent and independent_nonpersistent.
For more detailed information, refer to the official [community.vmware.vmware_guest_disk](https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_guest_disk_module.html) documentation.
Playbook Example
I'll Playbooknstrate how to add a 1GB additional disk to a Virtual Machine named "myvm" using an Ansible Playbook. The disk will be added to SCSI controller number 1, unit number 1.
Playbook
- vm_add_disk.yml
```yaml
---
- name: vm disk Playbook
hosts: localhost
become: false
gather_facts: false
collections:
- community.vmware
pre_tasks:
- include_vars: vars.yml
tasks:
- name: add disk to vm
vmware_guest_disk:
hostname: "{{ vcenter_hostname }}"