On this page
community.vmware.vmware_vm_config_option – Return supported guest ID list and VM recommended config option for specific guest OS
Note
This plugin is part of the community.vmware collection (version 1.15.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_vm_config_option.
New in version 1.15.0: of community.vmware
Synopsis
- This module is used for getting the hardware versions supported for creation, the guest ID list supported by ESXi host for the most recent virtual hardware supported or specified hardware version, the VM recommended config options for specified guest OS ID.
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - PyVmomi
 - System.View privilege
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| cluster_name
        
        string
         | 
      
        
        Name of the cluster.
        
       
        If  esxi_hostname is not given, this parameter is required.
        | 
     |
| datacenter
        
        string
         | 
      Default: 
        "ha-datacenter"
         | 
      
        
        The datacenter name used to get specified cluster or host.
        
       
        This parameter is case sensitive.
         | 
     
| esxi_hostname
        
        string
         | 
      
        
        ESXi hostname.
        
       
        Obtain VM configure options on this ESXi host.
        
       
        If  cluster_name is not given, this parameter is required.
        | 
     |
| get_config_options
        
        boolean
         | 
      
       
  | 
      
        
        Return the dict of VM recommended config options for guest ID specified by  
       guest_id with hardware version specified by hardware_version or the default hardware version.
       
        When set to True,  guest_id must be set.
        | 
     
| get_guest_os_ids
        
        boolean
         | 
      
       
  | 
      
        
        Return the list of guest OS IDs supported on the specified entity.
        
       
        If  hardware_version is set, will return the corresponding guest OS ID list supported, or will return the guest OS ID list for the default hardware version.
        | 
     
| get_hardware_versions
        
        boolean
         | 
      
       
  | 
      
        
        Return the list of VM hardware versions supported for creation and the default hardware version on the specified entity.
         | 
     
| guest_id
        
        string
         | 
      
        
        The guest OS ID from the returned list when  
       get_guest_os_ids is set to True, e.g., 'rhel8_64Guest'.
       
        This parameter must be set when  get_config_options is set to True.
        | 
     |
| hardware_version
        
        string
         | 
      
        
        The hardware version from the returned list when  get_hardware_versions is set to True, e.g., 'vmx-19'.
        | 
     |
| hostname
        
        string
         | 
      
        
        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  
       VMWARE_HOST will be used instead.
       
        Environment variable support added in Ansible 2.6.
         | 
     |
| password
        
        string
         | 
      
        
        The password of the vSphere vCenter or ESXi server.
        
       
        If the value is not specified in the task, the value of environment variable  
       VMWARE_PASSWORD will be used instead.
       
        Environment variable support added in Ansible 2.6.
        
       aliases: pass, pwd  | 
     |
| port
        
        integer
         | 
      Default: 
        443
         | 
      
        
        The port number of the vSphere vCenter or ESXi server.
        
       
        If the value is not specified in the task, the value of environment variable  
       VMWARE_PORT will be used instead.
       
        Environment variable support added in Ansible 2.6.
         | 
     
| proxy_host
        
        string
         | 
      
        
        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  
       VMWARE_PROXY_HOST will be used instead.
       
        This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
         | 
     |
| proxy_port
        
        integer
         | 
      
        
        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  VMWARE_PROXY_PORT will be used instead.
        | 
     |
| username
        
        string
         | 
      
        
        The username of the vSphere vCenter or ESXi server.
        
       
        If the value is not specified in the task, the value of environment variable  
       VMWARE_USER will be used instead.
       
        Environment variable support added in Ansible 2.6.
        
       aliases: admin, user  | 
     |
| 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.
       
        Environment variable support added in Ansible 2.6.
        
       
        If set to  true, please make sure Python >= 2.7.9 is installed on the given machine.
        | 
     
Notes
Note
- Tested on vSphere 6.5
 - Tested on vSphere 6.7
 - Known issue on vSphere 7.0 (https://github.com/vmware/pyvmomi/issues/915)
 - All modules requires API write access and hence is not supported on a free ESXi license.
 
Examples
- name: Get supported guest ID list on given ESXi host for with default hardware version
  community.vmware.vmware_vm_config_option:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    esxi_hostname: "{{ esxi_hostname }}"
    get_guest_os_ids: True
  delegate_to: localhost
- name: Get VM recommended config option for Windows 10 guest OS on given ESXi host
  community.vmware.vmware_vm_config_option:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    esxi_hostname: "{{ esxi_hostname }}"
    get_config_options: True
    guest_id: "windows9_64Guest"
  delegate_to: localhost
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| instance
        
        dictionary
         | 
      always | 
        
        metadata about the VM recommended configuration
         Sample:
        
       
        None
         | 
     
Authors
- Diane Wang (@Tomorrow9) <dianew@vmware.com>
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_vm_config_option_module.html