Модуль community.vmware.vmware_vm_shell — выполнение команд в гостевой операционной системе VMware
Примечание
Этот модуль входит в коллекцию community.vmware (версия 6.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить ее, используйте: ansible-galaxy collection install community.vmware.
Чтобы использовать ее в плейбуке, укажите: community.vmware.vmware_vm_shell.
Краткое описание
- Модуль позволяет пользователю выполнять распространенные команды системного администрирования в гостевой операционной системе.
Параметры
Параметр | Комментарии |
|---|---|
cluster string | Кластер, в котором размещена виртуальная машина. Если задано, это поможет ускорить поиск виртуальной машины. |
datacenter string | Центр обработки данных, в котором размещена виртуальная машина. Если задано, это поможет ускорить поиск виртуальной машины. |
folder string | Папка назначения; абсолютный или относительный путь для поиска существующей гостевой системы или создания новой. Путь к папке должен включать центр обработки данных. Центр обработки данных ESX — ha-datacenter. Примеры: 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 Обязательно, если |
hostname string | Имя хоста или IP-адрес сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды |
password псевдонимы: pass, pwd string | Пароль сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды |
port integer | Номер порта сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды По умолчанию: |
proxy_host string | Адрес прокси-сервера, который будет получать все HTTPS-запросы и передавать их дальше. Формат: имя хоста или IP-адрес. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды |
proxy_port integer | Порт HTTP-прокси-сервера, который будет получать все HTTPS-запросы и передавать их дальше. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды |
timeout integer | Время ожидания в секундах. Если задано положительное целое число, По умолчанию: |
username псевдонимы: admin, user string | Имя пользователя сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды |
validate_certs boolean | Разрешает подключение, если SSL-сертификаты недействительны. Если сертификаты не являются доверенными, установите значение Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Варианты:
|
vm_id string / обязательный | Имя виртуальной машины, с которой нужно работать. |
vm_id_type string | Способ идентификации VMware, используемый для определения виртуальной машины. Варианты:
|
vm_password string / обязательный | Пароль для входа в виртуальную машину. |
vm_shell string / обязательный | Абсолютный путь к запускаемой программе. В Linux оболочка запускается через bash. |
vm_shell_args string | Аргументы программы. Символы, которые необходимо экранировать для оболочки, также должны быть экранированы в передаваемой командной строке. По умолчанию: |
vm_shell_cwd string | Текущий рабочий каталог приложения, из которого оно будет запущено. |
vm_shell_env list / элементы=string | Список переменных среды, разделенных запятыми и указанных в формате гостевой ОС. |
vm_username string / обязательный | Пользователь для входа в виртуальную машину. |
wait_for_process boolean | Если задано значение Варианты:
|
Примечания
Примечание
- Используется только первое совпадение с vm_id, даже если совпадений несколько.
- Для всех модулей требуется доступ на запись через API, поэтому они не поддерживаются при бесплатной лицензии ESXi.
- Все переменные и имена объектов VMware чувствительны к регистру.
- Модули могут использовать библиотеку Python ‘requests’, которая по умолчанию не использует системное хранилище сертификатов. Хранилище сертификатов можно указать, задав переменную среды REQUESTS_CA_BUNDLE. Обратите внимание: наличие этой переменной может в некоторых случаях привести к игнорированию значения ‘false’ параметра ‘validate_certs’. Пример: ‘export REQUESTS_CA_BUNDLE=/path/to/your/ca_bundle.pem’
Примеры
- name: Run command inside a virtual machine
community.vmware.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
community.vmware.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
community.vmware.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
community.vmware.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
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
results dictionary | Метаданные о новом процессе после завершения при использовании wait_for_process Возвращается: при успешном выполнении Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/vmware/vmware_vm_shell_module.html