Spec-Zone.ru › Ansible

Модуль theforeman.foreman.provisioning_template – Управление шаблонами подготовки

Примечание

Этот модуль является частью коллекции theforeman.foreman (версия 4.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install theforeman.foreman. Вам потребуются дополнительные требования для использования этого модуля, см. Требования для получения подробной информации.

Чтобы использовать его в playbook, укажите: theforeman.foreman.provisioning_template.

Новое в theforeman.foreman 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управление шаблонами подготовки

Псевдонимы: foreman_provisioning_template

Требования

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

  • requests

Параметры

Параметр

Комментарии

audit_comment

string

Содержание поля комментария аудита

file_name

path

Путь к файлу шаблона, который должен быть импортирован.

Либо этот параметр, либо template обязателен как источник для содержимого шаблона подготовки.

kind

string

Тип шаблона подготовки

Варианты:

  • "Bootdisk"
  • "cloud-init"
  • "finish"
  • "host_init_config"
  • "iPXE"
  • "job_template"
  • "kexec"
  • "POAP"
  • "provision"
  • "PXEGrub"
  • "PXEGrub2"
  • "PXELinux"
  • "registration"
  • "script"
  • "snippet"
  • "user_data"
  • "ZTP"

locations

list / elements=string

Список местоположений, к которым должен быть назначен объект

locked

boolean

Определяет, должен ли быть заблокирован шаблон

Варианты:

  • false
  • true

name

string

Имя шаблона подготовки.

Если пропущено, будет определено из заголовка name шаблона или имени файла (в этом порядке).

Специальное значение "*" может использоваться для выполнения массовых действий (изменение, удаление) со всеми существующими шаблонами.

operatingsystems

list / elements=string

Список операционных систем, к которым должен быть назначен объект.

Операционные системы ищутся по их названию, которое составляется как "<name> <major>.<minor>".

Вы можете опустить часть с версией, если у вас есть только одна операционная система с таким именем.

organizations

list / elements=string

Список организаций, к которым должен быть назначен объект

password

string / required

Пароль пользователя, обращающегося к серверу Foreman.

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

server_url

string / required

URL сервера Foreman.

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

state

string

Состояние объекта

present_with_defaults гарантирует существование объекта, но не будет обновлять существующие

Варианты:

  • "present" ← (по умолчанию)
  • "present_with_defaults"
  • "absent"

template

string

Содержимое шаблона подготовки.

Либо этот параметр, либо file_name обязателен как источник для содержимого шаблона подготовки.

updated_name

string

Новое имя шаблона подготовки. Когда этот параметр установлен, модуль не будет идемпотентным.

username

string / required

Имя пользователя, обращающегося к серверу Foreman.

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

validate_certs

boolean

Проверять ли сертификаты TLS сервера Foreman.

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогнозируемый статус изменений, не изменяя сущность.

diff_mode

Поддержка: полная

Возвращает детали о том, что изменилось (или, возможно, должно измениться в режиме check_mode), когда используется режим diff.

Примеры

# 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/theforeman/foreman/provisioning_template_module.html

Spec-Zone.ru

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