theforeman.foreman.job_template – Управление шаблонами задач
Примечание
Этот плагин входит в коллекцию theforeman.foreman (версия 1.5.1).
Для его установки используйте: ansible-galaxy collection install theforeman.foreman.
Для использования в книге задач укажите: theforeman.foreman.job_template.
Впервые в версии 1.0.0: theforeman.foreman
Обзор
- Управление шаблонами задач удалённого выполнения
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- requests
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| audit_comment строка | Содержание поля комментария аудита | ||
| description_format строка | Описание шаблона задачи. Можно использовать шаблоны ввода. | ||
| file_name путь | Путь к файлу шаблона, который необходимо импортировать. Требуется либо этот параметр, либо template в качестве источника содержимого шаблона задачи. | ||
| job_category строка | Категория, к которой должен быть присвоен шаблон | ||
| locations список / элементы=строка | Список местоположений, к которым должна быть привязана сущность | ||
| locked булево |
| Определяет, будет ли заблокирован шаблон | |
| name строка | Имя шаблона задачи. Если опущено, будет определено из заголовка name шаблона или имени файла (в этом порядке).Специальное значение "*" можно использовать для выполнения массовых действий (изменение, удаление) со всеми существующими шаблонами. | ||
| organizations список / элементы=строка | Список организаций, к которым должна быть привязана сущность | ||
| password строка / требуется | Пароль пользователя, который обращается к серверу Foreman. Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_PASSWORD. | ||
| provider_type строка | Определяет, через какой провайдер должен быть выполнен шаблон | ||
| server_url строка / требуется | URL сервера Foreman. Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_SERVER_URL. | ||
| snippet булево |
| Определяет, будет ли шаблон фрагментом | |
| state строка |
| Состояние сущности present_with_defaults гарантирует существование сущности, но не будет обновлять существующие | |
| template строка | Содержимое шаблона задачи. Требуется либо этот параметр, либо file_name в качестве источника содержимого шаблона задачи. | ||
| template_inputs список / элементы=словарь | Входы шаблона, используемые в шаблоне задачи | ||
| advanced булево |
| Ввод шаблона расширенный | |
| description строка | Описание ввода шаблона | ||
| fact_name строка | Имя факта для использования. Требуется при input_type=fact. | ||
| input_type строка / требуется |
| тип ввода | |
| name строка / требуется | Имя ввода шаблона | ||
| options список / элементы=сырой | Значения шаблона для ввода пользователем. Должен быть массив любого типа. | ||
| puppet_class_name строка | Имя класса Puppet. Требуется при input_type=puppet_parameter. | ||
| puppet_parameter_name строка | Имя параметра Puppet. Требуется при input_type=puppet_parameter. | ||
| required булево |
| Требуется ли ввод | |
| resource_type строка | Тип ресурса | ||
| value_type строка |
| Тип значения | |
| variable_name строка | Имя переменной для использования. Требуется при input_type=variable. | ||
| username строка / требуется | Имя пользователя, обращающегося к серверу Foreman. Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_USERNAME. | ||
| validate_certs булево |
| Выполнять ли проверку сертификатов TLS сервера Foreman? Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_VALIDATE_CERTS. | |
Примеры
- name: "Create a Job Template inline"
theforeman.foreman.job_template:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: A New Job Template
state: present
template: |
<%#
name: A Job Template
%>
rm -rf <%= input("toDelete") %>
template_inputs:
- name: toDelete
input_type: user
locations:
- Gallifrey
organizations:
- TARDIS INC
- name: "Create a Job Template from a file"
theforeman.foreman.job_template:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: a new job template
file_name: timeywimey_template.erb
template_inputs:
- name: a new template input
input_type: user
state: present
locations:
- Gallifrey
organizations:
- TARDIS INC
- name: "remove a job template's template inputs"
theforeman.foreman.job_template:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: a new job template
template_inputs: []
state: present
locations:
- Gallifrey
organizations:
- TARDIS INC
- name: "Delete a Job Template"
theforeman.foreman.job_template:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: timeywimey
state: absent
- name: "Create a Job Template from a file and modify with parameter(s)"
theforeman.foreman.job_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 Job templates
theforeman.foreman.job_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 your Job Templates
theforeman.foreman.job_template:
server_url: "https://foreman.example.com"
username: "admin"
password: "changeme"
state: present
template: '{{ lookup("file", item.src) }}'
with_filetree: '/path/to/job/templates'
when: item.state == 'file'
# with name set to "*" bulk actions can be performed
- name: "Delete *ALL* Job Templates"
theforeman.foreman.job_template:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "*"
state: absent
- name: "Assign all Job Templates to the same organization(s)"
theforeman.foreman.job_template:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "*"
state: present
organizations:
- DALEK INC
- sky.net
- Doc Brown's garage
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| entity словарь | успех | Конечное состояние затронутых сущностей, сгруппированных по их типу. | |
| job_templates список / элементы=словарь | успех | Список шаблонов задач. | |
| template_inputs список / элементы=словарь | успех | Список вводов шаблона, связанных с шаблоном задачи. | |
Авторы
- Manuel Bonk (@manuelbonk) 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/job_template_module.html