Spec-Zone.ru › Ansible 2.11

theforeman.foreman.provisioning_template – Управление шаблонами развёртывания

Примечание

Этот плагин является частью коллекции theforeman.foreman (версия 1.5.1).

Для его установки используйте: ansible-galaxy collection install theforeman.foreman.

Для использования в книге задач укажите: theforeman.foreman.provisioning_template.

Новое в версии 1.0.0: of theforeman.foreman

  • Обзор
  • Требования
  • Параметры
  • Примеры
  • Возвращаемые значения

Обзор

  • Управление шаблонами развёртывания

Требования

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

  • requests

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
audit_comment
строка
Содержимое поля комментария аудита
file_name
путь
Путь к файлу шаблона, который должен быть импортирован.
Требуется либо этот параметр, либо параметр template в качестве источника для содержимого шаблона развёртывания.
kind
строка
    Варианты:
  • Bootdisk
  • cloud-init
  • finish
  • iPXE
  • job_template
  • kexec
  • POAP
  • provision
  • ptable
  • PXEGrub
  • PXEGrub2
  • PXELinux
  • registration
  • script
  • snippet
  • user_data
  • ZTP
Тип шаблона развёртывания
locations
список / элементы=строка
Список локаций, которым должна быть назначена сущность
locked
логическое значение
    Варианты:
  • no
  • yes
Определяет, следует ли заблокировать шаблон
name
строка
Имя шаблона развёртывания.
Если опущено, будет определено из заголовка name шаблона или из имени файла (в таком порядке).
Специальное значение "*" может использоваться для выполнения массовых действий (изменить, удалить) со всеми существующими шаблонами.
operatingsystems
список / элементы=строка
Список операционных систем, которым должна быть назначена сущность.
Операционные системы определяются по их названию, которое состоит из "<имя> <главная>.<дополнительная>".
Вы можете опустить часть версии, если у вас только одна операционная система с таким именем.
organizations
список / элементы=строка
Список организаций, которым должна быть назначена сущность
password
строка / требуется
Пароль пользователя, имеющего доступ к серверу Foreman.
Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_PASSWORD.
server_url
строка / требуется
URL сервера Foreman.
Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_SERVER_URL.
state
строка
    Варианты:
  • present ←
  • present_with_defaults
  • absent
Состояние сущности
present_with_defaults гарантирует существование сущности, но не будет обновлять существующие
template
строка
Содержимое шаблона развёртывания.
Требуется либо этот параметр, либо параметр file_name в качестве источника для содержимого шаблона развёртывания.
updated_name
строка
Новое имя шаблона развёртывания. При установке этого параметра модуль не будет идемпотентным.
username
строка / требуется
Имя пользователя, имеющего доступ к серверу Foreman.
Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_USERNAME.
validate_certs
логическое значение
    Варианты:
  • no
  • yes ←
Верифицировать ли сертификаты TLS сервера Foreman.
Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_VALIDATE_CERTS.

Примеры

# Keep in mind, that in this case, the inline parameters will be overwritten
- name: "Create a Provisioning Template inline"
  theforeman.foreman.provisioning_template:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: A New Finish Template
    kind: finish
    state: present
    template: |
      <%#
          name: Finish timetravel
          kind: finish
      %>
      cd /
      rm -rf *
    locations:
      - Gallifrey
    organizations:
      - TARDIS INC

- name: "Create a Provisioning Template from a file"
  theforeman.foreman.provisioning_template:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    file_name: timeywimey_template.erb
    state: present
    locations:
      - Gallifrey
    organizations:
      - TARDIS INC

# Due to the module logic, deleting requires a template dummy,
# either inline or from a file.
- name: "Delete a Provisioning Template"
  theforeman.foreman.provisioning_template:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: timeywimey_template
    template: |
      <%#
          dummy:
      %>
    state: absent

- name: "Create a Provisioning Template from a file and modify with parameter"
  theforeman.foreman.provisioning_template:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    file_name: timeywimey_template.erb
    name: Wibbly Wobbly Template
    state: present
    locations:
      - Gallifrey
    organizations:
      - TARDIS INC

# Providing a name in this case wouldn't be very sensible.
# Alternatively make use of with_filetree to parse recursively with filter.
- name: "Parsing a directory of provisioning templates"
  theforeman.foreman.provisioning_template:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    file_name: "{{ item }}"
    state: present
    locations:
      - SKARO
    organizations:
      - DALEK INC
    with_fileglob:
       - "./arsenal_templates/*.erb"

# If the templates are stored locally and the ansible module is executed on a remote host
- name: Ensure latest version of all Provisioning Community Templates
  theforeman.foreman.provisioning_template:
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present
    template: '{{ lookup("file", item.src) }}'
  with_filetree: '/path/to/provisioning/templates'
  when: item.state == 'file'


# with name set to "*" bulk actions can be performed
- name: "Delete *ALL* provisioning templates"
  theforeman.foreman.provisioning_template:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: "*"
    state: absent

- name: "Assign all provisioning templates to the same organization(s)"
  theforeman.foreman.provisioning_template:
    username: "admin"
    password: "changeme"
    server_url: "https://foreman.example.com"
    name: "*"
    state: present
    organizations:
      - DALEK INC
      - sky.net
      - Doc Brown's garage

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

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

Ключ Возвращаемое значение Описание
entity
словарь
успех
Конечное состояние затронутых сущностей, сгруппированных по их типу.

provisioning_templates
список / элементы=словарь
успех
Список шаблонов развёртывания.



Авторы

  • Bernhard Hopfenmueller (@Fobhep) ATIX AG
  • Matthias Dellweg (@mdellweg) ATIX AG

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

Spec-Zone.ru

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