Spec-Zone.ru › Ansible 2.4

win_package - Установка/удаление пакетов для установки

Новая версия в версии 1.7.

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

  • Устанавливает или удаляет пакет в формате MSI или EXE.
  • Эти пакеты могут быть источниками из локальной файловой системы, сетевого ресурса или URL.
  • Пожалуйста, ознакомьтесь с разделом "Примечания", чтобы узнать о некоторых нюансах использования этого модуля.

Параметры

параметр обязательно значение по умолчанию выбор комментарии
arguments
нет
Любые аргументы, необходимые установщику для установки или удаления пакета.
Если пакет имеет формат MSI, не передавайте аргументы /qn, /log или /norestart.
creates_path
(добавлено в 2.4)
нет
Проверит существование указанного пути и использует результат для определения, установлен ли пакет.
Вы можете использовать это в сочетании с product_id и другими creates_*.
creates_service
(добавлено в 2.4)
нет
Проверит существование указанной службы и использует результат для определения, установлен ли пакет.
Вы можете использовать это в сочетании с product_id и другими creates_*.
creates_version
(добавлено в 2.4)
нет
Проверит свойство версии файла по пути creates_path и использует результат для определения, установлен ли пакет.
creates_path ДОЛЖЕН быть задан и является файлом.
Вы можете использовать это в сочетании с product_id и другими creates_*.
expected_return_code
нет [0, 3010]
Один или несколько кодов возврата из установки пакета, указывающих на успех.
До Ansible 2.4 это было только 0, но с 2.4 это 0 и 3010.
Код возврата 3010 обычно означает, что требуется перезагрузка, значение возврата reboot_required устанавливается, если код возврата 3010.
name
нет
Имя пакета. Если имя не указано, для сообщений в логах будет использоваться путь.
Начиная с Ansible 2.4, это устарело и больше не требуется.
password
нет
Пароль для user_name, должен быть задан, когда user_name задан.
псевдонимы: user_password
path
нет
Расположение пакета для установки или удаления.
Этот пакет может быть на локальной файловой системе, сетевом ресурсе или URL.
Если путь находится на сетевом ресурсе, и текущий транспорт WinRM не поддерживает делегирование учетных данных, то user_name и user_password должны быть заданы для доступа к файлу.
В некоторых случаях этот файл будет скопирован локально на сервер для доступа к нему, см. заметки для получения дополнительной информации.
Если state=present, это значение ДОЛЖНО быть задано.
Если state=absent, это значение не нужно задавать, если product_id задано.
product_id
нет
Идентификатор продукта установленного пакета.
Используется для проверки, установлен ли продукт, и получения информации об удалении, если state=absent.
Идентификаторы продуктов установленных программ можно найти в редакторе реестра Windows по адресу HKLM:Software\Microsoft\Windows\CurrentVersion\Uninstall или для 32-разрядных программ по адресу HKLM:Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall.
Это ДОЛЖНО быть задано, когда пакет не MSI, или путь является URL или сетевым ресурсом, и делегирование учетных данных не используется. Вместо этого можно использовать параметры creates_*, но это не рекомендуется.
псевдонимы: productid
state
нет present
Установить или удалить пакет.
Модуль использует product_id и наличие его в пути реестра, чтобы определить, требуется ли установка или удаление пакета.
псевдонимы: ensure
username
нет
Имя пользователя с доступом к пакету, если он находится на сетевом ресурсе.
Это необходимо только если транспорт WinRM работает с методом аутентификации, не поддерживающим делегирование учетных данных, например, Basic или NTLM.
псевдонимы: user_name
validate_certs
(добавлено в 2.4)
нет да
  • да
  • нет
Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых вами сайтах, использующих самозаверенные сертификаты.
До Ansible 2.4 это по умолчанию no.

Примеры

- name: Install the Visual C thingy
  win_package:
    path: http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe
    product_id: '{CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}'
    arguments: /install /passive /norestart

- name: Install Remote Desktop Connection Manager from msi
  win_package:
    path: https://download.microsoft.com/download/A/F/0/AF0071F3-B198-4A35-AA90-C68D103BDCCF/rdcman.msi
    product_id: '{0240359E-6A4C-4884-9E94-B397A02D893C}'
    state: present

- name: Uninstall Remote Desktop Connection Manager
  win_package:
    product_id: '{0240359E-6A4C-4884-9E94-B397A02D893C}'
    state: absent

- name: Install Remote Desktop Connection Manager locally omitting the product_id
  win_package:
    path: C:\temp\rdcman.msi
    state: present

- name: Uninstall Remote Desktop Connection Manager from local MSI omitting the product_id
  win_package:
    path: C:\temp\rdcman.msi
    state: absent

# 7-Zip exe doesn't use a guid for the Product ID
- name: Install 7zip from a network share specifying the credentials
  win_package:
    path: \\domain\programs\7z.exe
    product_id: 7-Zip
    arguments: /S
    state: present
    user_name: DOMAIN\User
    user_password: Password

- name: Install 7zip and use a file version for the installation check
  win_package:
    path: C:\temp\7z.exe
    creates_path: C:\Program Files\7-Zip\7z.exe
    creates_version: 16.04
    state: present

- name: Uninstall 7zip from the exe
  win_package:
    path: C:\Program Files\7-Zip\Uninstall.exe
    product_id: 7-Zip
    arguments: /S
    state: absent

- name: Uninstall 7zip without specifying the path
  win_package:
    product_id: 7-Zip
    arguments: /S
    state: absent

- name: Install application and override expected return codes
  win_package:
    path: https://download.microsoft.com/download/1/6/7/167F0D79-9317-48AE-AEDB-17120579F8E2/NDP451-KB2858728-x86-x64-AllOS-ENU.exe
    product_id: '{7DEBE4EB-6B40-3766-BB35-5CBBC385DA37}'
    arguments: '/q /norestart'
    state: present
    expected_return_code: [0, 666, 3010]

Возвращаемые значения

Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для данного модуля:

имя описание возвращается тип пример
exit_code
См. rc, это будет удалено в пользу rc в Ansible 2.6.
изменения произошли int 0
log
Содержимое журнала MSI.
изменения произошли и пакет MSI str Установка завершена успешно
rc
Код возврата процесса пакета.
изменения произошли int 0
reboot_required
Требуется ли перезагрузка для завершения установки пакета. Устанавливается в true, если код возврата исполняемого файла равен 3010.
всегда bool True
restart_required
См. reboot_required, это будет удалено в пользу reboot_required в Ansible 2.6.
всегда bool True
stderr
Поток stderr процесса пакета.
ошибка во время установки или удаления str Не удалось установить программу
stdout
Поток stdout процесса пакета.
ошибка во время установки или удаления str Установка программы

Примечания

Примечание

  • Для платформ, отличных от Windows, используйте модуль package.
  • Когда state=absent и продукт EXE, путь может отличаться от того, который использовался для первоначальной установки пакета. Если путь не задан, то используемый путь будет соответствовать значению UninstallString в реестре для данного product_id.
  • Не все идентификаторы продуктов имеют формат GUID, некоторые программы неправильно используют другой формат, но этот модуль должен поддерживать любой формат.
  • По умолчанию все установки и удаления MSI выполняются с параметрами /log, /qn, /norestart.
  • Рекомендуется сначала загрузить пакет с URL-адреса, используя модуль win_get_url, так как это открывает больше возможностей для настройки при вызове win_package.
  • Пакеты будут временно скачиваться или копироваться локально, когда путь — сетевой ресурс, и делегирование учетных данных не настроено, или путь — URL-адрес, а файл не является MSI.
  • Все проверки установки в product_id и creates_* суммируются; если одна из них завершается неудачей, программа считается отсутствующей.

Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.

Информация о техническом обслуживании

Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этом knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>.

Для получения помощи в разработке модулей, если вы заинтересованы, ознакомьтесь с Информацией о сообществе и участии, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/win_package_module.html

Spec-Zone.ru

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