Spec-Zone.ru › Ansible

community.vmware.vmware_vm_shell модуль — Выполнение команд в гостевой операционной системе VMware

Примечание

Этот модуль входит в коллекцию community.vmware (версия 4.7.1).

Возможно, эта коллекция уже установлена, если вы используете пакет 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

folder: folder1/datacenter1/vm/folder2

Обязательно, если vm_id_type=inventory_path

hostname

string

Имя хоста или IP-адрес сервера vSphere vCenter или ESXi.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_HOST.

password

aliases: pass, pwd

string

Пароль сервера vSphere vCenter или ESXi.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PASSWORD.

port

integer

Номер порта сервера vSphere vCenter или ESXi.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PORT.

Значение по умолчанию: 443

proxy_host

string

Адрес прокси-сервера, который будет принимать все запросы HTTPS и пересылать их.

Формат — имя хоста или IP-адрес.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PROXY_HOST.

proxy_port

integer

Порт HTTP-прокси, который будет принимать все запросы HTTPS и пересылать их.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PROXY_PORT.

timeout

integer

Тайм-аут в секундах.

Если установлено положительное целое число, то wait_for_process=true будет учитывать этот параметр и завершится после истечения тайм-аута.

Значение по умолчанию: 3600

username

aliases: admin, user

string

Имя пользователя сервера vSphere vCenter или ESXi.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_USER.

validate_certs

boolean

Разрешает подключение, когда SSL-сертификаты недействительны. Установите значение false, если сертификаты не являются доверенными.

Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_VALIDATE_CERTS.

Варианты:

  • false
  • true ← (по умолчанию)

vm_id

string / required

Имя виртуальной машины, с которой нужно работать.

vm_id_type

string

Метод идентификации VMware, с помощью которого будет идентифицироваться виртуальная машина.

Варианты:

  • "uuid"
  • "instance_uuid"
  • "dns_name"
  • "inventory_path"
  • "vm_name" ← (по умолчанию)

vm_password

string / required

Пароль, используемый для входа в виртуальную машину.

vm_shell

string / required

Абсолютный путь к программе, которую нужно запустить.

В Linux оболочка выполняется через bash.

vm_shell_args

string

Аргумент программы.

Символы, которые должны быть экранированы для оболочки, также должны быть экранированы в предоставленной командной строке.

Значение по умолчанию: " "

vm_shell_cwd

string

Текущий рабочий каталог приложения, из которого оно будет запущено.

vm_shell_env

list / elements=string

Список переменных среды, разделенных запятыми, указанный в обозначениях гостевой ОС.

vm_username

строка / обязательно

Имя пользователя для входа в виртуальную машину.

wait_for_process

булево

Если установлено в true, модуль будет ожидать завершения процесса в данной виртуальной машине.

Варианты:

  • false ← (по умолчанию)
  • true

Примечания

Примечание

  • Используется только первое совпадение с vm_id, даже если есть несколько совпадений.
  • Все модули требуют доступа для записи в API и поэтому не поддерживаются в бесплатной лицензии ESXi.
  • Все переменные и имена объектов VMware чувствительны к регистру.

Примеры

- 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

словарь

метаданные о новом процессе после завершения с wait_for_process

Возвращаемое значение: при успехе

Пример: {"cmd_line": "\"/bin/sleep\" 1", "end_time": "2018-04-26T05:03:21+00:00", "exit_code": 0, "name": "sleep", "owner": "dev1", "start_time": "2018-04-26T05:03:19+00:00", "uuid": "564db1e2-a3ff-3b0e-8b77-49c25570bb66"}

Авторы

  • Ritesh Khadgaray (@ritzk)
  • Abhijeet Kasurde (@Akasurde)

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Главная страница
  • Репозиторий (исходные коды)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_vm_shell_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API