Nota

Este complemento es parte del colección community.vmware (versión 1.7.0).

Para instalarlo use: ansible-galaxy collection install community.vmware.

Para usarlo en un libro de jugadas, especifique: community.vmware.vmware_guest.

  • Sinopsis
  • Requisitos
  • Parámetros
  • Notas
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Este módulo se puede utilizar para crear nuevas máquinas virtuales a partir de plantillas u otras máquinas virtuales, administrar el estado de energía de la máquina virtual, como encender, apagar, suspender, apagar, reiniciar, reiniciar, etc., modificar varios componentes de la máquina virtual como red, disco , personalización, etc., cambie el nombre de una máquina virtual y elimine una máquina virtual con componentes asociados.

Requisitos

Los siguientes requisitos son necesarios en el host que ejecuta este módulo.

  • pitón> = 2.6
  • PyVmomi

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
anotación cuerda Una nota o anotación para incluir en la máquina virtual.

alias: notas
CD ROM crudo Una lista de configuraciones de CD-ROM para la máquina virtual. Agregado en la versión 2.9. Proporcionar la configuración de CD-ROM como dict está obsoleto y se eliminará la colección VMware 4.0.0. En su lugar, utilice una lista. Parámetros controller_type, controller_number, unit_number, state se agregan para obtener una lista de compatibilidad con la configuración de CD-ROM. Para ide controlador, CD-ROM de adición o extracción en caliente no es compatible.
número_controlador entero Para ide controlador, el valor válido es 0 o 1. Para sata controlador, el valor válido es de 0 a 3.
tipo_controlador cuerda Las opciones válidas son ide y sata. El valor predeterminado es ide. Cuando se establece en sata, por favor asegúrese unit_number es correcto y no lo utilizan los discos SATA.
iso_path cuerda La ruta del almacén de datos al archivo ISO que se utilizará, en forma de [datastore1] path/to/file.iso. Obligatorio si se establece el tipo iso.
estado cuerda El valor válido es present o absent. El valor predeterminado es present. Si se establece en absent, se eliminará el CD-ROM especificado.
escribe cuerda El tipo de CD-ROM, las opciones válidas son none, client o iso. Con none el CD-ROM estará desconectado pero presente. El valor predeterminado es client.
unidad numérica entero Para dispositivo de CD-ROM adjuntar a ide controlador, el valor válido es 0 o 1. Para el dispositivo de CD-ROM adjuntar a sata controlador, el valor válido es de 0 a 29.
controller_number y unit_number son atributos obligatorios.
grupo cuerda El nombre del clúster donde se ejecutará la máquina virtual. Este es un parámetro obligatorio, si esxi_hostname no está configurado.
esxi_hostname y cluster son parámetros mutuamente excluyentes. Este parámetro distingue entre mayúsculas y minúsculas.
convertir cuerda
    Opciones:

  • delgada
  • grueso
  • ansioso cero grueso
Especifique el tipo de disco de conversión al clonar la plantilla o la máquina virtual.
personalización diccionario Parámetros para la personalización del sistema operativo cuando se clona desde la plantilla o la máquina virtual, o se aplican directamente a la máquina virtual existente. No todos los sistemas operativos son compatibles con la personalización con la versión de vCenter respectiva; consulte la documentación de VMware para la personalización del sistema operativo correspondiente. Para obtener una matriz de sistema operativo de personalización compatible, (consulte http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf) Todos los parámetros y nombres de objetos de VMware distinguen entre mayúsculas y minúsculas. Los sistemas operativos basados ​​en Linux requieren que se instale el paquete Perl para las personalizaciones del sistema operativo.
autologon booleano
    Opciones:

  • no
Inicio de sesión automático después de la personalización de la máquina virtual. Específico para la personalización de Windows.
autologoncount entero Número de inicio de sesión automático después del reinicio. Específico para la personalización de Windows. Ignorado si autologon está desarmado o configurado en False. Si no está configurado, se utilizará 1.
dns_servers lista / elementos = cadena Lista de servidores DNS para configurar. Común para la personalización de Linux y Windows.
dns_suffix lista / elementos = cadena Lista de sufijos de dominio, también conocida como ruta de búsqueda de DNS. Defecto domain parámetro. Común para la personalización de Linux y Windows.
dominio cuerda Nombre de dominio DNS a utilizar. Común para la personalización de Linux y Windows.
domainadmin cuerda Usuario utilizado para unirse al dominio de AD. Requerido si joindomain especificado. Específico para la personalización de Windows.
domainadminpassword cuerda Contraseña utilizada para unirse al dominio de AD. Requerido si joindomain especificado. Específico para la personalización de Windows.
existente_vm booleano
    Opciones:

  • no
Si se establece en True, realice la personalización del sistema operativo en la máquina virtual especificada directamente. Común para la personalización de Linux y Windows.
nombre completo cuerda Nombre del propietario del servidor. Específico para la personalización de Windows. Si no se configura, se utilizará “Administrador” como alternativa.
nombre de host cuerda Nombre de host de la computadora. El valor predeterminado se abrevia name parámetro. Los caracteres permitidos son alfanuméricos (mayúsculas y minúsculas) y menos, el resto de los caracteres se eliminan según RFC 952. Común para la personalización de Linux y Windows.
hwclockUTC booleano
    Opciones:

  • no
Especifica si el reloj del hardware está en UTC o en hora local. Específico para la personalización de Linux.
joindomain cuerda AD dominio para unirse. No compatible con joinworkgroup. Específico para la personalización de Windows.
grupo de trabajo cuerda Grupo de trabajo para unirse. No compatible con joindomain. Específico para la personalización de Windows. Si no se configura, “WORKGROUP” se utilizará como alternativa.
orgname cuerda Nombre de la organización. Específico para la personalización de Windows. Si no se configura, “ACME” se utilizará como alternativa.
contraseña cuerda Contraseña de administrador local. Específico para la personalización de Windows.
identificación de producto cuerda Identificación de producto. Específico para la personalización de Windows.
corre una vez lista / elementos = cadena Lista de comandos que se ejecutarán en el primer inicio de sesión del usuario. Específico para la personalización de Windows.
zona horaria cuerda Zona horaria. Consulte Lista de zonas horarias admitidas para diferentes versiones de vSphere en Linux / Unix. Común para la personalización de Linux y Windows.
Ventanas.
especificación_personalización cuerda Nombre único que identifica la especificación de personalización solicitada. Este parámetro distingue entre mayúsculas y minúsculas. Si se establece, anula customization valores paramétricos.
valores personalizados lista / elementos = diccionario Defina una lista de valores personalizados para configurar en la máquina virtual. Un objeto de valor personalizado toma dos campos key y value. Se ignorarán las claves y los valores incorrectos.
centro de datos cuerda Defecto:
“ha-centro de datos”
Centro de datos de destino para la operación de implementación. Este parámetro distingue entre mayúsculas y minúsculas.
Almacén de datos cuerda Especifique el almacén de datos o el clúster de almacenes de datos para aprovisionar la máquina virtual. Este parámetro tiene prioridad sobre disk.datastore parámetro. Este parámetro se puede usar para anular el almacén de datos o la configuración del clúster del almacén de datos de la máquina virtual cuando se implementa desde la plantilla. Consulte el ejemplo para obtener más información sobre el uso.
delete_from_inventory booleano
    Opciones:

  • no
Ya sea para eliminar la máquina virtual del inventario o eliminarla del disco.
disco lista / elementos = diccionario Una lista de discos para agregar. Este parámetro distingue entre mayúsculas y minúsculas. No se admite la reducción de discos. No se admite la eliminación de discos existentes de la máquina virtual. Atributos controller_type, controller_number, unit_number se utilizan para configurar varios tipos de controladores de disco y discos para crear o reconfigurar máquinas virtuales. Agregado en Ansible 2.10.
autoselect_datastore booleano
    Opciones:

  • no
Seleccione el almacén de datos menos utilizado.
disk.datastore y disk.autoselect_datastore no se utilizará si datastore se especifica fuera de esto disk configuración.
número_controlador entero Número de bus del controlador de disco. El número máximo de controladores del mismo tipo es 4 por VM. Rango de valor válido de 0 a 3.
tipo_controlador cuerda Tipo de controlador de disco. Los valores válidos son buslogic, lsilogic, lsilogicsas, paravirtual, sata y nvme.
nvme La compatibilidad con el tipo de controlador comienza en ESXi 6.5 con la versión de hardware de VM version 13. Establecer este tipo en ESXi no admitido o la versión de hardware de VM provocará un error en la implementación. Cuando se establece en sata, por favor asegúrese unit_number es correcto y no lo utilizan los CDROM SATA. Si se establece en sata escriba, por favor asegúrese controller_number y unit_number están configurados correctamente cuando cdrom también configurado en sata escribe.
Almacén de datos cuerda El nombre del almacén de datos que se utilizará para el disco. Si autoselect_datastore se establece en True, seleccionará el almacén de datos menos utilizado cuyo nombre contenga esta cadena “disk.datastore”.
disk_mode cuerda Tipo de modo de disco. Agregado en Ansible 2.6. Si persistent especificado, los cambios se escriben de forma inmediata y permanente en el disco virtual. Esto es predeterminado. Si independent_persistent especificado, igual que persistente, pero no afectado por instantáneas. Si independent_nonpersistent especificado, los cambios en el disco virtual se realizan en un registro de rehacer y se descartan al apagar, pero no se ven afectados por las instantáneas.
nombre del archivo cuerda Imagen de disco existente que se utilizará. El nombre de archivo ya debe existir en el almacén de datos. Especifique la cadena de nombre de archivo en [datastore_name] path/to/file.vmdk formato. Agregado en Ansible 2.8.
Talla entero Tamaño de almacenamiento en disco. Por favor, especifique la unidad de almacenamiento como [kb, mb, gb, tb].
size_gb entero Tamaño de almacenamiento en disco en gb.
size_kb entero Tamaño de almacenamiento en disco en kb.
size_mb entero Tamaño de almacenamiento en disco en mb.
size_tb entero Tamaño de almacenamiento en disco en tb.
escribe cuerda Tipo de disco. Si thin especificado, el tipo de disco se establece en disco delgado. Si eagerzeroedthick especificado, el tipo de disco se establece en disco de grosor cero. Se agregó Ansible 2.5. Si no se especifica, el tipo de disco es disco grueso, no eagerzero.
unidad numérica entero Número de unidad de disco. Rango de valor válido de 0 a 15 para controlador SCSI, excepto 7. Rango de valor válido de 0 a 14 para controlador NVME. Rango de valor válido de 0 a 29 para el controlador SATA.
controller_type, controller_number y unit_number son necesarios al crear o reconfigurar máquinas virtuales con varios tipos de controladores de disco y discos. Al crear una nueva VM, el primer disco configurado en el disk La lista será “Disco duro 1”.
esxi_hostname cuerda El nombre de host de ESXi donde se ejecutará la máquina virtual. Este es un parámetro obligatorio, si cluster no está configurado.
esxi_hostname y cluster son parámetros mutuamente excluyentes. Este parámetro distingue entre mayúsculas y minúsculas.
carpeta cuerda Carpeta de destino, ruta absoluta para encontrar un invitado existente o crear el nuevo invitado. La carpeta debe incluir el centro de datos. El centro de datos de ESXi es ha-datacenter. Este parámetro distingue entre mayúsculas y minúsculas. Si se encuentran varias máquinas con el mismo nombre, este parámetro se utiliza para identificar Ejemplos: carpeta: / ha-datacenter / vm carpeta: ha-datacenter / vm carpeta: / datacenter1 / vm carpeta: datacenter1 / vm carpeta: / datacenter1 / vm / carpeta1 carpeta: centro de datos1 / vm / carpeta1 carpeta: / carpeta1 / centro de datos1 / carpeta vm: carpeta1 / centro de datos1 / carpeta vm: / carpeta1 / centro de datos1 / vm / carpeta2
fuerza booleano
    Opciones:

  • no
Ignore las advertencias y complete las acciones. Este parámetro es útil al eliminar la máquina virtual que está encendida. Este módulo refleja el flujo de trabajo de la interfaz de usuario y la API de VMware vCenter, por lo que, en algunos casos, el indicador “force” será obligatorio para realizar la acción y garantizar que se tiene la certeza de que se debe realizar la acción, sin importar cuál sea la consecuencia. Este es específicamente el caso de eliminar una máquina virtual encendida cuando state se establece en absent.
guest_id cuerda Configure el ID de invitado. Este parámetro distingue entre mayúsculas y minúsculas.
rhel7_64Guest para máquina virtual con RHEL7 de 64 bits.
centos64Guest para máquina virtual con CentOS de 64 bits.
ubuntu64Guest para máquina virtual con Ubuntu de 64 bits. Este campo es obligatorio cuando se crea una máquina virtual, no se requiere cuando se crea a partir de la plantilla. Aquí se hace referencia a los valores válidos: https://code.vmware.com/apis/358/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
hardware diccionario Administre los atributos de hardware de la máquina virtual. Todos los parámetros distinguen entre mayúsculas y minúsculas.
boot_firmware cuerda
    Opciones:

  • BIOS
  • efi
Elija qué firmware se debe utilizar para iniciar la máquina virtual.
cpu_limit entero La utilización de CPU de una máquina virtual no excederá este límite. La unidad es MHz.
cpu_reservation entero La cantidad de recurso de CPU que está garantizado disponible para la máquina virtual.
hotadd_cpu booleano
    Opciones:

  • no
Permita que se agreguen CPU virtuales mientras se ejecuta la máquina virtual.
hotadd_memory booleano
    Opciones:

  • no
Permita que se agregue memoria mientras se ejecuta la máquina virtual.
hotremove_cpu booleano
    Opciones:

  • no
Permita que se eliminen las CPU virtuales mientras se ejecuta la máquina virtual.
max_connections entero Número máximo de conexiones de pantalla remota activas para las máquinas virtuales.
mem_limit entero La utilización de memoria de una máquina virtual no excederá este límite. La unidad es MB.
mem_reservation entero La cantidad de recurso de memoria que está garantizado disponible para la máquina virtual.

alias: memory_reservation
memory_mb entero Cantidad de memoria en MB.
bloqueo_reservación_memoria booleano
    Opciones:

  • no
Si está configurado true, reserva de recursos de memoria para la máquina virtual.
nested_virt booleano
    Opciones:

  • no
Habilite la virtualización anidada.
num_cpu_cores_per_socket entero Número de núcleos por zócalo.
num_cpus entero Número de CPU.
num_cpus debe ser un múltiplo de num_cpu_cores_per_socket. Por ejemplo, para crear una máquina virtual con 2 sockets de 4 núcleos, especifique num_cpus como 8 y num_cpu_cores_per_socket como 4.
scsi cuerda
    Opciones:

  • buslogic
  • lsilogic
  • lsilogicsas
  • paravirtual
Los valores válidos son buslogic, lsilogic, lsilogicsas y paravirtual.
paravirtual es predeterminado.
versión cuerda Las versiones de hardware de la máquina virtual. El valor predeterminado es 10 (ESXi 5.5 y posteriores). Si se establece en latest, la máquina virtual especificada se actualizará a la versión de hardware más actual compatible con el host.
latest se agrega en Ansible 2.10. Consulte la documentación de VMware para conocer la versión correcta del hardware de la máquina virtual. La versión de hardware incorrecta puede provocar fallas en la implementación. Si la versión de hardware ya es igual a la dada.
virt_based_security booleano
    Opciones:

  • no
Habilite la función de seguridad basada en virtualización para Windows en ESXi 6.7 y posterior, desde la versión 14 del hardware. Los sistemas operativos invitados compatibles son Windows 10 de 64 bits, Windows Server 2016, Windows Server 2019 y posteriores. El firmware de la máquina virtual debe ser EFI. Implementar en ESXi no compatible, la versión de hardware o el firmware puede provocar fallas o la VM implementada con configuraciones inesperadas.
nombre de host cuerda El nombre de host o la dirección IP de vSphere vCenter o servidor ESXi. Si el valor no se especifica en la tarea, el valor de la variable de entorno VMWARE_HOST se utilizará en su lugar. Se agregó compatibilidad con variables de entorno en Ansible 2.6.
is_template booleano
    Opciones:

  • no
Marque la instancia como plantilla. Esto marcará la máquina virtual dada como plantilla.
Linked_clone booleano
    Opciones:

  • no
Ya sea para crear un clon vinculado a partir de la instantánea especificada. Si se especifica, entonces snapshot_src es un parámetro obligatorio.
nombre cuerda Nombre de la máquina virtual con la que trabajar. Los nombres de máquinas virtuales en vCenter no son necesariamente únicos, lo que puede ser problemático, consulte name_match. Si existen varias máquinas virtuales con el mismo nombre, entonces folder es un parámetro obligatorio para identificar la unicidad de la máquina virtual. Este parámetro es obligatorio, si state se establece en poweredon, powered-on, poweredoff, powered-off, present, restarted, suspended y la máquina virtual no existe. Este parámetro distingue entre mayúsculas y minúsculas.
name_match cuerda
    Opciones:

  • primero
  • último
Si hay varias máquinas virtuales que coinciden con el nombre, utilice la primera o la última encontrada.
redes lista / elementos = diccionario Una lista de redes (en el orden de las NIC). No se permite quitar las NIC mientras se reconfigura la máquina virtual. Todos los parámetros y los nombres de los objetos de VMware distinguen entre mayúsculas y minúsculas.
conectado booleano agregado en 1.5.0 de community.vmware
    Opciones:

  • no
Indica si la NIC está conectada actualmente.
tipo de dispositivo cuerda Dispositivo de red virtual. El valor válido puede ser uno de e1000, e1000e, pcnet32, vmxnet2, vmxnet3, sriov.
vmxnet3 es predeterminado. Opcional por entrada. Utilizado para hardware virtual.
dns_servers cuerda Servidores DNS para esta interfaz de red (Windows). Opcional por entrada. Se utiliza para la personalización del sistema operativo.
dominio cuerda Nombre de dominio para esta interfaz de red (Windows). Opcional por entrada. Se utiliza para la personalización del sistema operativo.
dvswitch_name cuerda Nombre del vSwitch distribuido. Opcional por entrada. Utilizado para hardware virtual.
puerta cuerda Pasarela estática. Opcional por entrada. Se utiliza para la personalización del sistema operativo.
ip cuerda Dirección IP estática. Implica type=static. Opcional por entrada. Se utiliza para la personalización del sistema operativo.
Mac cuerda Personaliza la dirección MAC. Opcional por entrada. Utilizado para hardware virtual.
nombre cuerda Nombre del grupo de puertos o grupo de puertos virtual distribuido para esta interfaz. Requerido por entrada. Al especificar un grupo de puertos virtual distribuido, asegúrese de esxi_hostname o cluster está asociado con él.
máscara de red cuerda Máscara de red estática requerida para ip. Opcional por entrada. Se utiliza para la personalización del sistema operativo.
start_connected booleano
    Opciones:

  • no
Especifica si conectar o no el dispositivo cuando se inicia la máquina virtual.
escribe cuerda Tipo de asignación de IP. Los valores válidos son uno de dhcp, static.
dhcp es predeterminado. Opcional por entrada. Se utiliza para la personalización del sistema operativo.
vlan entero Número de VLAN para esta interfaz. Requerido por entrada.
contraseña cuerda La contraseña del servidor vSphere vCenter o ESXi. Si el valor no se especifica en la tarea, el valor de la variable de entorno VMWARE_PASSWORD se utilizará en su lugar. Se agregó compatibilidad con variables de entorno en Ansible 2.6.

alias: pass, pwd
Puerto entero Defecto:
443
El número de puerto del servidor vSphere vCenter o ESXi. Si el valor no se especifica en la tarea, el valor de la variable de entorno VMWARE_PORT se utilizará en su lugar. Se agregó compatibilidad con variables de entorno en Ansible 2.6.
proxy_host cuerda Dirección de un proxy que recibirá todas las solicitudes HTTPS y las retransmitirá. El formato es un nombre de host o una IP. Si el valor no se especifica en la tarea, el valor de la variable de entorno VMWARE_PROXY_HOST se utilizará en su lugar. Esta función depende de una versión de pyvmomi superior a la v6.7.1.2018.12
Puerto proxy entero Puerto del proxy HTTP que recibirá todas las solicitudes HTTPS y las retransmitirá. Si el valor no se especifica en la tarea, el valor de la variable de entorno VMWARE_PROXY_PORT se utilizará en su lugar.
fondo de recursos cuerda Utilice el grupo de recursos proporcionado para el funcionamiento de la máquina virtual. Este parámetro distingue entre mayúsculas y minúsculas. El grupo de recursos debe ser hijo del padre anfitrión seleccionado.
snapshot_src cuerda Nombre de la instantánea existente que se utilizará para crear un clon de una máquina virtual. Este parámetro distingue entre mayúsculas y minúsculas. Al crear un clon vinculado usando linked_clone parámetro, este parámetro es obligatorio.
estado cuerda
    Opciones:

  • ausente
  • encendido
  • encendido
  • apagado
  • apagado
  • regalo
  • reiniciar
  • reiniciar-invitado
  • reiniciado
  • suspendido
  • invitado
  • shutdown-guest
Especifique el estado en el que debe estar la máquina virtual. Si state se establece en present y la máquina virtual existe, asegúrese de que las configuraciones de la máquina virtual se ajusten a los argumentos de la tarea. Si state se establece en absent y la máquina virtual existe, entonces la máquina virtual especificada se elimina con sus componentes asociados. Si state está configurado en uno de los siguientes poweredon, powered-on, poweredoff, powered-off, present, restarted, suspended y la máquina virtual no existe, la máquina virtual se implementa con los parámetros dados. Si state se establece en poweredon o powered-on y la máquina virtual existe con un estado de energía diferente a encendido, entonces la máquina virtual especificada está encendida. Si state se establece en poweredoff o powered-off y la máquina virtual existe con un estado de energía diferente a apagado, entonces la máquina virtual especificada está apagada. Si state se establece en restarted y la máquina virtual existe, luego se reinicia la máquina virtual. Si state se establece en suspended y la máquina virtual existe, entonces la máquina virtual se configura en modo suspendido. Si state se establece en shutdownguest o shutdown-guest y la máquina virtual existe, entonces la máquina virtual se apaga. Si state se establece en rebootguest o reboot-guest y la máquina virtual existe, luego se reinicia la máquina virtual. Powerstate powered-on y powered-off se agrega en la versión 2.10.
state_change_timeout entero Defecto:
0
Si el state se establece en shutdownguest, por defecto, el módulo regresará inmediatamente después de enviar la señal de apagado. Si este argumento se establece en un número entero positivo, el módulo esperará a que la máquina virtual alcance el estado de apagado. El valor establece un tiempo de espera en segundos para que el módulo espere el cambio de estado.
plantilla cuerda Plantilla o máquina virtual existente utilizada para crear una nueva máquina virtual. Si no se establece este valor, la máquina virtual se crea sin usar una plantilla. Si la máquina virtual ya existe, este parámetro se ignorará. Este parámetro distingue entre mayúsculas y minúsculas. A partir de la versión 2.8, se puede utilizar la ruta absoluta a la máquina virtual o la plantilla.

alias: template_src
use_instance_uuid booleano
    Opciones:

  • no
Si se debe utilizar el UUID de la instancia de VMware en lugar del UUID del BIOS.
nombre de usuario cuerda El nombre de usuario del servidor vSphere vCenter o ESXi. Si el valor no se especifica en la tarea, el valor de la variable de entorno VMWARE_USER se utilizará en su lugar. Se agregó compatibilidad con variables de entorno en Ansible 2.6.

alias: administrador, usuario
uuid cuerda UUID de la máquina virtual para administrar si se conoce, este es el identificador único de VMware. Esto es necesario si name no se suministra. Si la máquina virtual no existe, este parámetro se ignora. Tenga en cuenta que un UUID proporcionado se ignorará en la creación de la máquina virtual, ya que VMware crea el UUID internamente.
validate_certs booleano
    Opciones:

  • no
Permite la conexión cuando los certificados SSL no son válidos. Ajustado a false cuando los certificados no son de confianza. Si el valor no se especifica en la tarea, el valor de la variable de entorno VMWARE_VALIDATE_CERTS se utilizará en su lugar. Se agregó compatibilidad con variables de entorno en Ansible 2.6. Si se establece en true, asegúrese de que Python> = 2.7.9 esté instalado en la máquina indicada.
vapp_properties lista / elementos = diccionario Una lista de propiedades de vApp. Para obtener una lista completa de atributos y tipos, consulte: https://code.vmware.com/apis/704/vsphere/vim.vApp.PropertyInfo.html
identificación cuerda ID de propiedad. Requerido por entrada.
operación cuerda los remove El atributo solo es obligatorio al eliminar propiedades.
escribe cuerda Tipo de valor, tipo de cadena por defecto.
valor cuerda El valor de la propiedad.
wait_for_customization booleano
    Opciones:

  • no
Espere hasta que vCenter detecte que todas las personalizaciones de invitados se completaron correctamente. Cuando está habilitado, la VM se encenderá automáticamente. Si vCenter no detecta que la personalización del invitado se inicie o tenga éxito, los eventos fallaron después de un tiempo wait_for_customization_timeout parámetro especificado, se imprimirá un mensaje de advertencia y el resultado de la tarea será erróneo.
wait_for_customization_timeout entero Defecto:
“3600”
Defina un tiempo de espera (en segundos) para el parámetro wait_for_customization. Tenga cuidado al establecer este valor, ya que el tiempo que tomó la personalización del invitado puede diferir entre los sistemas operativos invitados.
wait_for_ip_address booleano
    Opciones:

  • no
Espere hasta que vCenter detecte una dirección IP para la máquina virtual. Esto requiere que vmware-tools (vmtoolsd) funcione correctamente después de la creación. vmware-tools debe instalarse en la máquina virtual dada para poder trabajar con este parámetro.
wait_for_ip_address_timeout entero Defecto:
“300”
Defina un tiempo de espera (en segundos) para el parámetro wait_for_ip_address.

Notas

Nota

  • Asegúrese de que el usuario utilizado para community.vmware.vmware_guest tiene el nivel correcto de privilegios.
  • Por ejemplo, a continuación se muestra la lista de privilegios mínimos requeridos por los usuarios para crear máquinas virtuales.
  • Almacén de datos> Asignar espacio
  • Máquina virtual> Configuración> Agregar disco nuevo
  • Máquina virtual> Configuración> Agregar o quitar dispositivo
  • Máquina virtual> Inventario> Crear nuevo
  • Red> Asignar red
  • Recurso> Asignar máquina virtual a grupo de recursos
  • El módulo también puede requerir privilegios adicionales, que pueden ser necesarios para recopilar datos, por ejemplo, configuraciones de ESXi.
  • Probado en vSphere 5.5, 6.0, 6.5 y 6.7.
  • Utilice discos SCSI en lugar de IDE cuando desee expandir discos en línea especificando un controlador SCSI.
  • Utiliza SysPrep para Windows VM (depende de la coincidencia del parámetro ‘guest_id’ ‘win’) con PyVmomi.
  • Para cambiar los parámetros de la VM (por ejemplo, el número de CPU), la VM debe estar apagada a menos que el soporte de adición en caliente esté habilitado y el state=present debe utilizarse para aplicar los cambios.
  • Para obtener información adicional, visite el wiki de la comunidad de Ansible VMware – https://github.com/ansible/community/wiki/VMware.

Ejemplos de

- name: Create a virtual machine on given ESXi hostname
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    folder: /DC1/vm/
    name: test_vm_0001
    state: poweredon
    guest_id: centos64Guest
    # This is hostname of particular ESXi server on which user wants VM to be deployed
    esxi_hostname: "{{ esxi_hostname }}"
    disk:
    - size_gb: 10
      type: thin
      datastore: datastore1
    hardware:
      memory_mb: 512
      num_cpus: 4
      scsi: paravirtual
    networks:
    - name: VM Network
      mac: aa:bb:dd:aa:00:14
      ip: 10.10.10.100
      netmask: 255.255.255.0
      device_type: vmxnet3
    wait_for_ip_address: true
    wait_for_ip_address_timeout: 600
  delegate_to: localhost
  register: deploy_vm

- name: Create a virtual machine from a template
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    folder: /testvms
    name: testvm_2
    state: poweredon
    template: template_el7
    disk:
    - size_gb: 10
      type: thin
      datastore: g73_datastore
    # Add another disk from an existing VMDK
    - filename: "[datastore1] testvms/testvm_2_1/testvm_2_1.vmdk"
    hardware:
      memory_mb: 512
      num_cpus: 6
      num_cpu_cores_per_socket: 3
      scsi: paravirtual
      memory_reservation_lock: True
      mem_limit: 8096
      mem_reservation: 4096
      cpu_limit: 8096
      cpu_reservation: 4096
      max_connections: 5
      hotadd_cpu: True
      hotremove_cpu: True
      hotadd_memory: False
      version: 12 # Hardware version of virtual machine
      boot_firmware: "efi"
    cdrom:
        - controller_number: 0
          unit_number: 0
          state: present
          type: iso
          iso_path: "[datastore1] livecd.iso"
    networks:
    - name: VM Network
      mac: aa:bb:dd:aa:00:14
    wait_for_ip_address: true
  delegate_to: localhost
  register: deploy

- name: Clone a virtual machine from Windows template and customize
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: datacenter1
    cluster: cluster
    name: testvm-2
    template: template_windows
    networks:
    - name: VM Network
      ip: 192.168.1.100
      netmask: 255.255.255.0
      gateway: 192.168.1.1
      mac: aa:bb:dd:aa:00:14
      domain: my_domain
      dns_servers:
      - 192.168.1.1
      - 192.168.1.2
    - vlan: 1234
      type: dhcp
    customization:
      autologon: true
      dns_servers:
      - 192.168.1.1
      - 192.168.1.2
      domain: my_domain
      password: new_vm_password
      runonce:
      - powershell.exe -ExecutionPolicy Unrestricted -File C:WindowsTempConfigureRemotingForAnsible.ps1 -ForceNewSSLCert -EnableCredSSP
  delegate_to: localhost

- name:  Clone a virtual machine from Linux template and customize
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter }}"
    state: present
    folder: /DC1/vm
    template: "{{ template }}"
    name: "{{ vm_name }}"
    cluster: DC1_C1
    networks:
      - name: VM Network
        ip: 192.168.10.11
        netmask: 255.255.255.0
    wait_for_ip_address: True
    customization:
      domain: "{{ guest_domain }}"
      dns_servers:
        - 8.9.9.9
        - 7.8.8.9
      dns_suffix:
        - example.com
        - example2.com
  delegate_to: localhost

- name: Rename a virtual machine (requires the virtual machine's uuid)
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    uuid: "{{ vm_uuid }}"
    name: new_name
    state: present
  delegate_to: localhost

- name: Remove a virtual machine by uuid
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    uuid: "{{ vm_uuid }}"
    state: absent
  delegate_to: localhost

- name: Remove a virtual machine from inventory
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: vm_name
    delete_from_inventory: True
    state: absent
  delegate_to: localhost

- name: Manipulate vApp properties
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: vm_name
    state: present
    vapp_properties:
      - id: remoteIP
        category: Backup
        label: Backup server IP
        type: string
        value: 10.10.10.1
      - id: old_property
        operation: remove
  delegate_to: localhost

- name: Set powerstate of a virtual machine to poweroff by using UUID
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    uuid: "{{ vm_uuid }}"
    state: poweredoff
  delegate_to: localhost

- name: Deploy a virtual machine in a datastore different from the datastore of the template
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: "{{ vm_name }}"
    state: present
    template: "{{ template_name }}"
    # Here datastore can be different which holds template
    datastore: "{{ virtual_machine_datastore }}"
    hardware:
      memory_mb: 512
      num_cpus: 2
      scsi: paravirtual
  delegate_to: localhost

- name: Create a diskless VM
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ dc1 }}"
    state: poweredoff
    cluster: "{{ ccr1 }}"
    name: diskless_vm
    folder: /Asia-Datacenter1/vm
    guest_id: centos64Guest
    datastore: "{{ ds1 }}"
    hardware:
        memory_mb: 1024
        num_cpus: 2
        num_cpu_cores_per_socket: 1

- name: Create a VM with multiple disks of different disk controller types
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    folder: /DC1/vm/
    name: test_vm_multi_disks
    state: poweredoff
    guest_id: centos64Guest
    datastore: datastore1
    disk:
    - size_gb: 10
      controller_type: 'nvme'
      controller_number: 0
      unit_number: 0
    - size_gb: 10
      controller_type: 'paravirtual'
      controller_number: 0
      unit_number: 1
    - size_gb: 10
      controller_type: 'sata'
      controller_number: 0
      unit_number: 2
    hardware:
      memory_mb: 512
      num_cpus: 4
      version: 14
    networks:
    - name: VM Network
      device_type: vmxnet3
  delegate_to: localhost
  register: deploy_vm

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
ejemplo diccionario siempre metadatos sobre la nueva máquina virtual
Muestra: Ninguno

Autores