Spec-Zone.ru › Ansible

Модуль theforeman.foreman.job_template — управление шаблонами заданий

Примечание

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

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

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

Чтобы использовать модуль в плейбуке, укажите: theforeman.foreman.job_template.

Добавлено в theforeman.foreman 1.0.0

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

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

  • Управление шаблонами заданий удаленного выполнения

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

Требования

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

  • requests

Параметры

Параметр

Комментарии

audit_comment

string

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

ca_path

path

Файл в формате PEM, содержащий сертификат CA для проверки.

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

description_format

string

Описание шаблона задания. Можно ссылаться на входные данные шаблона.

file_name

path

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

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

job_category

string

Категория, которой следует назначить шаблон

locations

list / elements=string

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

locked

boolean

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

Варианты:

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

name

string

Имя шаблона задания.

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

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

oauth1_consumer_key

string

Ключ потребителя OAuth1 для доступа к серверу Foreman.

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

oauth1_consumer_secret

string

Секретный ключ потребителя OAuth1 для доступа к серверу Foreman.

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

organizations

list / elements=string

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

password

string

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

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

provider_type

string

Определяет, с помощью какого провайдера будет выполняться шаблон

server_url

string / обязательный

URL-адрес сервера Foreman.

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

snippet

boolean

Определяет, является ли шаблон фрагментом

Варианты:

  • false
  • true

state

string

Состояние сущности

present_with_defaults гарантирует существование сущности, но не обновляет уже существующие сущности

Варианты:

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

template

string

Содержимое шаблона задания.

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

template_inputs

list / elements=dictionary

Входные данные шаблона, используемые в шаблоне задания

advanced

boolean

Расширенный входной параметр шаблона

Варианты:

  • false
  • true

default

string

добавлено в theforeman.foreman 3.8.0

Значение по умолчанию для пользовательского ввода

description

string

Описание входного параметра шаблона

fact_name

string

Имя факта, которое следует использовать.

Обязательно, если input_type=fact.

hidden_value

boolean

Значение содержит конфиденциальную информацию и обычно не должно отображаться; например, это полезно для паролей

Варианты:

  • false
  • true

input_type

string / обязательный

Тип входных данных

Варианты:

  • "user"
  • "fact"
  • "variable"
  • "puppet_parameter"

name

string / обязательный

Имя входного параметра шаблона

options

list / elements=any

Значения шаблона для пользовательского ввода. Должны быть массивом произвольного типа.

puppet_class_name

string

Имя класса Puppet.

Обязательно, если input_type=puppet_parameter.

puppet_parameter_name

string

Имя параметра Puppet.

Обязательно, если input_type=puppet_parameter.

required

boolean

Является ли ввод обязательным

Варианты:

  • false
  • true

resource_type

string

Тип ресурса

value_type

string

Тип значения

Варианты:

  • "plain"
  • "search"
  • "date"
  • "resource"

variable_name

string

Имя переменной, которое следует использовать.

Обязательно, если input_type=variable.

use_gssapi

boolean

Использовать GSSAPI для аутентификации; обычно это применяется для Kerberos или Kerberos через аутентификацию Negotiate.

Требуется установленная библиотека Python requests-gssapi.

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

Варианты:

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

username

string

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

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

validate_certs

boolean

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

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

В режиме diff будут возвращены сведения об изменениях (или о возможных изменениях в режиме check_mode)

Примеры

- 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) }}'
    name: '{{ item.path }}'
  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

dictionary

Итоговое состояние затронутых сущностей, сгруппированных по типу.

Возвращается: при успешном выполнении

job_templates

list / elements=dictionary

Список шаблонов заданий.

Возвращается: при успешном выполнении

template_inputs

list / elements=dictionary

Список входных данных шаблона, связанных с шаблоном задания.

Возвращается: при успешном выполнении

Авторы

  • Manuel Bonk (@manuelbonk) ATIX AG
  • Matthias Dellweg (@mdellweg) ATIX AG

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

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

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

Spec-Zone.ru

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