---
title: VMware Guest Disk
slug: homologacao-atmosphere/vmware-guest-disk
description: Learn how to add, remove, and update disks for a specific virtual machine in VMware with this comprehensive document. Discover the requirements for the host system, including the PyVmomi library, and explore the various parameters and sub-options availabl
docTags: 
createdAt: 2021-12-10T12:08:36.000Z
---

## Resumo

- Este módulo pode ser usado para adicionar, remover e atualizar discos pertencentes a determinada máquina virtual.
- Todos os parâmetros e nomes de objetos VMware diferenciam maiúsculas de minúsculas.
- Este módulo é destrutivo por natureza, leia a documentação cuidadosamente antes de continuar.
- Tenha cuidado ao remover o disco especificado, pois isso pode levar à perda de dados.

## Requisitos

Os requisitos abaixo são necessários no host que executa este módulo.

- PyVmomi

## Parâmetros

| **Parâmetro**         | **Tipo**                   | **Escolhas \| Valor Padrão**                     | **Comentários**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| --------------------- | -------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name - required       | string                     |                                                  | Nome da máquina virtual.<br /><br />Este é um parâmetro obrigatório, se o parâmetro `uuid` ou `moid` não for fornecido.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| uuid                  | string                     |                                                  | UUID da instância para reunir fatos, se conhecido, este é o identificador exclusivo da VMware.<br /><br />Este é um parâmetro obrigatório, se o parâmetro `name` ou `moid` não for fornecido.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| moid                  | string                     |                                                  | O ID do objeto gerenciado da instância a ser gerenciado, se conhecido, é um identificador exclusivo apenas em uma única instância do vCenter.<br /><br />Isso é necessário se `name` ou `uuid` não for fornecido.                                                                                                                                                                                                                                                                                                                                                                                                                  |
| folder                | string                     |                                                  | Pasta de destino, caminho absoluto ou relativo para encontrar um convidado existente.<br /><br />Este é um parâmetro obrigatório, apenas se várias VMs forem encontradas com o mesmo nome.<br /><br />A pasta deve incluir o datacenter. <br /><br />O datacenter da ESX é ha-datacenter<br /><br />Exemplos:<br />folder: /ha-datacenter/vm<br />folder: ha-datacenter/vm<br />folder: /datacenter1/vm<br />folder: datacenter1/vm<br />folder: /datacenter1/vm/folder1<br />folder: datacenter1/vm/folder1<br />folder: /folder1/datacenter1/vm<br />folder: folder1/datacenter1/vm<br />folder: /folder1/datacenter1/vm/folder2 |
| datacenter - required | string                     |                                                  | O nome do datacenter ao qual a máquina virtual pertence.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| use\_instance\_uuid   | boolean                    | Escolhas:<br />- "false" (default)<br />- "true" | Se deve usar o UUID da instância do VMware em vez do UUID do BIOS.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| disk                  | list / elements=dictionary | Default:<br />- \[]                              | Uma lista de discos a serem adicionados.<br /><br />As informações relacionadas ao disco virtual são fornecidas usando esta lista.<br /><br />Todos os valores e parâmetros diferenciam maiúsculas de minúsculas.                                                                                                                                                                                                                                                                                                                                                                                                                  |

## Sub-options de disk

| **Parâmetro**         | **Tipo** | **Escolhas \| Valor&#x20;*****Padrão***                                    | **Comentários**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------- | -------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| size                  |  string  | - Disk storage size.
- Please specify storage unit like \[kb, mb, gb, tb]. | Tamanho de armazenamento do disco na unidade especificada.<br />Se `size` especificado, a unidade deve ser especificada. Não há espaço permitido entre o número do tamanho e a unidade.<br />Apenas a primeira ocorrência no elemento de disco será considerada, mesmo se houver vários parâmetros de tamanho \* disponíveis.                                                                                                                                                                                                                     |
| size\_kb              | interger |                                                                            | Tamanho do armazenamento do disco em kb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| size\_mb              | bool     | ******                                                                     | Tamanho do armazenamento do disco em mb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| size\_gb              | interger | <br />                                                                     | Tamanho do armazenamento do disco em gb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| size\_tb              | interger |                                                                            | Tamanho do armazenamento do disco em tb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| type                  | interger | * thin
* thick
* eagerzeroedthick                                          | - Tipo de disco.&#x20;
- Se C(thin) for especificado, o tipo de disco será definido como thin disk.&#x20;
- Se não for especificado, o tipo de disco é herdado da VM ou modelo de origem quando clonado e disco grosso, caso contrário, não ansioso<br />                                                                                                                                                                                                                                                                                         |
| datastore             | string   |                                                                            | * O nome do armazenamento de dados que será usado para o disco.&#x20;
* Se C(autoselect\_datastore) for definido como True, selecionará o armazenamento de dados menos usado cujo nome contém esta string "disk.datastore"                                                                                                                                                                                                                                                                                                                        |
| filename              | string   |                                                                            | - Imagem de disco existente a ser usada.&#x20;
- O nome do arquivo já deve existir no armazenamento de dados.                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| autoselect\_datastore | bool     |                                                                            | * Selecione o armazenamento de dados menos usado.&#x20;
* C(disk.datastore) e C(disk.autoselect\_datastore) não serão usados ​​se C(datastore) for especificado fora desta configuração C(disk)                                                                                                                                                                                                                                                                                                                                                   |
| disk\_mode            | string   | - persistent
- independent\_persistent
- independent\_nonpersistent        | Número máximo de conexões de exibição remota ativas para as máquinas virtuais                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| controller\_type      | string   | * buslogic
* lsilogic
* lsilogicsas
* paravirtual
* sata
* nvme            | - Tipo de controlador de disco.
- O suporte ao tipo de controlador C(nvme) começa no ESXi 6.5 com versão de hardware VM C(versão) 13. Definir esse tipo como versão de hardware ESXi ou VM não suportada resultará em falha na implantação.
- Quando definido como C(sata), certifique-se de que C(unit\_number) esteja correto e não seja usado por CD-ROMs SATA.
- Se definido como tipo C(sata), certifique-se de que C(controller\_number) e C(unit\_number) estejam definidos corretamente quando C(cdrom) também definido como tipo C(sata) |
| controller\_number    | interger | * 0
* 1
* 2
* 3                                                            | - Número do barramento do controlador de disco.&#x20;
- O número máximo de controladores do mesmo tipo é 4 por VM.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| unit\_number          | interger |                                                                            | <br />- Número da unidade de disco.&#x20;
- Intervalo de valores válidos de 0 a 15 para controlador SCSI, exceto 7.&#x20;
- Intervalo de valores válidos de 0 a 14 para o controlador NVME.&#x20;
- Intervalo de valores válidos de 0 a 29 para o controlador SATA.&#x20;
- C(controller\_type), C(controller\_number) e C(unit\_number) são necessários ao criar ou reconfigurar VMs com vários tipos de controladores de disco e discos.&#x20;
- Ao criar uma nova VM, o primeiro disco configurado na lista C(disk) será "Hard Disk 1".        |

## Notas

Observação

- Testado em vSphere 7.0.2
- Todos os módulos requerem acesso de gravação API e, portanto, não são suportados em uma licença ESXi gratuita.

## Exemplos

```yaml
- name: Run command inside a virtual machine
  vmware_vm_shell:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter }}"
    folder: "/{{datacenter}}/vm"
    vm_id: "{{ vm_name }}"
    vm_username: root
    vm_password: superSecret
    vm_shell: /bin/echo
    vm_shell_args: " $var >> myFile "
    vm_shell_env:
      - "PATH=/bin"
      - "VAR=test"
    vm_shell_cwd: "/tmp"
  delegate_to: localhost
  register: shell_command_output

- name: Run command inside a virtual machine with wait and timeout
  vmware_vm_shell:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter }}"
    folder: "/{{datacenter}}/vm"
    vm_id: NameOfVM
    vm_username: root
    vm_password: superSecret
    vm_shell: /bin/sleep
    vm_shell_args: 100
    wait_for_process: True
    timeout: 2000
  delegate_to: localhost
  register: shell_command_with_wait_timeout

- name: Change user password in the guest machine
  vmware_vm_shell:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter }}"
    folder: "/{{datacenter}}/vm"
    vm_id: "{{ vm_name }}"
    vm_username: sample
    vm_password: old_password
    vm_shell: "/bin/echo"
    vm_shell_args: "-e 'old_password\nnew_password\nnew_password' | passwd sample > /tmp/$$.txt 2>&1"
  delegate_to: localhost

- name: Change hostname of guest machine
  vmware_vm_shell:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter }}"
    folder: "/{{datacenter}}/vm"
    vm_id: "{{ vm_name }}"
    vm_username: testUser
    vm_password: SuperSecretPassword
    vm_shell: "/usr/bin/hostnamectl"
    vm_shell_args: "set-hostname new_hostname > /tmp/$$.txt 2>&1"
  delegate_to: localhost
```

## Valores Retornados

| **Chave**    | **Tipo**   | **Retornado quando** | **Descrição**                                                  |
| ------------ | ---------- | -------------------- | -------------------------------------------------------------- |
| disk\_status | dictionary | sempre               | metadados sobre os discos da máquina virtual após gerenciá-los |





