vmware_guest_file_operation – Операции с файлами в гостевой ОС VMware без сети
Новое в версии 2.5.
Обзор
- Модуль для копирования файла на ВМ, извлечения файла из ВМ и создания или удаления каталога в гостевой ОС.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- PyVmomi
- requests
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| cluster - | Кластер, на котором размещена виртуальная машина. Если указано, это ускорит поиск виртуальной машины. | |
| copy - | Копирование файла на ВМ без необходимости сети. Допустимые атрибуты: src: абсолютный или относительный путь к исходному файлу dest: путь к файлу назначения, путь должен существовать overwrite: False или True (необязательно, значение по умолчанию False) | |
| datacenter - | Центр обработки данных, на котором размещена виртуальная машина. Если указано, это ускорит поиск виртуальной машины. | |
| directory - | Создание или удаление каталога. Допустимые атрибуты: path: путь к каталогу для создания или удаления operation: Допустимые значения create, delete recurse (boolean): Необязательно, значение по умолчанию (false) | |
| fetch - добавлено в 2.5 | Получение файла из виртуальной машины без необходимости сети. Допустимые атрибуты: src: файл на удалённой системе для извлечения. Это должен быть файл, а не каталог dest: путь к файлу назначения на локальном компьютере, путь должен существовать | |
| folder - | Папка назначения, абсолютный путь для поиска существующей гостевой или создания новой гостевой. Папка должна включать центр обработки данных. Центр обработки данных ESX - ha-datacenter Используется только, если vm_id_type является inventory_path. Примеры: 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 folder: vm/folder2 folder: folder2 | |
| hostname строка | Имя хоста или IP-адрес сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_HOST. Поддержка переменных среды добавлена в версии 2.6. | |
| password строка | Пароль сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_PASSWORD. Поддержка переменных среды добавлена в версии 2.6. псевдонимы: pass, pwd | |
| port целое число добавлено в 2.5 | По умолчанию: 443 | Номер порта сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_PORT. Поддержка переменных среды добавлена в версии 2.6. |
| username строка | Имя пользователя сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_USER. Поддержка переменных среды добавлена в версии 2.6. псевдонимы: admin, user | |
| validate_certs булево |
| Разрешает подключение, когда сертификаты SSL недействительны. Установите в false, когда сертификаты ненадёжны.Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_VALIDATE_CERTS. Поддержка переменных среды добавлена в версии 2.6. Если установлено значение yes, убедитесь, что на данном компьютере установлен Python >= 2.7.9. |
| vm_id - / обязательно | Имя виртуальной машины для работы. | |
| vm_id_type - |
| Метод идентификации VMware, используемый для идентификации виртуальной машины. |
| vm_password - / обязательно | Пароль, используемый для входа в виртуальную машину. | |
| vm_username - / обязательно | Пользователь для входа в виртуальную машину. |
Примечания
Примечание
- Проверено на vSphere 6
- Используется только первое совпадение с vm_id, даже если есть несколько совпадений
Примеры
- name: Create directory inside a vm
vmware_guest_file_operation:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
validate_certs: no
vm_id: "{{ guest_name }}"
vm_username: "{{ guest_username }}"
vm_password: "{{ guest_userpassword }}"
directory:
path: "/test"
operation: create
recurse: no
delegate_to: localhost
- name: copy file to vm
vmware_guest_file_operation:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
vm_id: "{{ guest_name }}"
vm_username: "{{ guest_username }}"
vm_password: "{{ guest_userpassword }}"
copy:
src: "files/test.zip"
dest: "/root/test.zip"
overwrite: False
delegate_to: localhost
- name: fetch file from vm
vmware_guest_file_operation:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
vm_id: "{{ guest_name }}"
vm_username: "{{ guest_username }}"
vm_password: "{{ guest_userpassword }}"
fetch:
src: "/root/test.zip"
dest: "files/test.zip"
delegate_to: localhost
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Stéphane Travassac (@stravassac)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать его для улучшения.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/vmware_guest_file_operation_module.html