` for details.
To use it in a playbook, specify: :code:`theforeman.foreman.job_template`.
.. version_added
.. rst-class:: ansible-version-added
New in theforeman.foreman 1.0.0
.. contents::
:local:
:depth: 1
.. Deprecated
Synopsis
--------
.. Description
- Manage Remote Execution Job Templates
.. Aliases
Aliases: foreman_job_template
.. Requirements
.. _ansible_collections.theforeman.foreman.job_template_module_requirements:
Requirements
------------
The below requirements are needed on the host that executes this module.
- requests
.. Options
Parameters
----------
.. tabularcolumns:: \X{1}{3}\X{2}{3}
.. list-table::
:width: 100%
:widths: auto
:header-rows: 1
:class: longtable ansible-option-table
* - Parameter
- Comments
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-audit_comment:
.. rst-class:: ansible-option-title
**audit_comment**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
Content of the audit comment field
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-ca_path:
.. rst-class:: ansible-option-title
**ca_path**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`path`
.. raw:: html
- .. raw:: html
PEM formatted file that contains a CA certificate to be used for validation.
If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_CA\_PATH` will be used instead.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-description_format:
.. rst-class:: ansible-option-title
**description_format**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
description of the job template. Template inputs can be referenced.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-file_name:
.. rst-class:: ansible-option-title
**file_name**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`path`
.. raw:: html
- .. raw:: html
The path of a template file, that shall be imported.
Either this or :emphasis:`template` is required as a source for the Job Template "content".
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-job_category:
.. rst-class:: ansible-option-title
**job_category**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
The category the template should be assigend to
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-locations:
.. rst-class:: ansible-option-title
**locations**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=string`
.. raw:: html
- .. raw:: html
List of locations the entity should be assigned to
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-locked:
.. rst-class:: ansible-option-title
**locked**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
- .. raw:: html
Determines whether the template shall be locked
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry-default:`false` :ansible-option-choices-default-mark:`← (default)`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-name:
.. rst-class:: ansible-option-title
**name**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
The name of the Job Template.
If omited, will be determined from the :literal:`name` header of the template or the filename (in that order).
The special value "\*" can be used to perform bulk actions (modify, delete) on all existing templates.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-organizations:
.. rst-class:: ansible-option-title
**organizations**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=string`
.. raw:: html
- .. raw:: html
List of organizations the entity should be assigned to
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-password:
.. rst-class:: ansible-option-title
**password**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
Password of the user accessing the Foreman server.
If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_PASSWORD` will be used instead.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-provider_type:
.. rst-class:: ansible-option-title
**provider_type**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
Determines via which provider the template shall be executed
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-server_url:
.. rst-class:: ansible-option-title
**server_url**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string` / :ansible-option-required:`required`
.. raw:: html
- .. raw:: html
URL of the Foreman server.
If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_SERVER\_URL` will be used instead.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-snippet:
.. rst-class:: ansible-option-title
**snippet**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
- .. raw:: html
Determines whether the template shall be a snippet
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`false`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-state:
.. rst-class:: ansible-option-title
**state**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
State of the entity
:literal:`present\_with\_defaults` will ensure the entity exists, but won't update existing ones
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry-default:`"present"` :ansible-option-choices-default-mark:`← (default)`
- :ansible-option-choices-entry:`"present\_with\_defaults"`
- :ansible-option-choices-entry:`"absent"`
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template:
.. rst-class:: ansible-option-title
**template**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
The content of the Job Template.
Either this or :emphasis:`file\_name` is required as a source for the Job Template "content".
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs:
.. rst-class:: ansible-option-title
**template_inputs**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary`
.. raw:: html
- .. raw:: html
The template inputs used in the Job Template
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/advanced:
.. rst-class:: ansible-option-title
**advanced**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Template Input is advanced
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`false`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/default:
.. rst-class:: ansible-option-title
**default**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
:ansible-option-versionadded:`added in theforeman.foreman 3.8.0`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Default value for user input
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/description:
.. rst-class:: ansible-option-title
**description**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
description of the Template Input
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/fact_name:
.. rst-class:: ansible-option-title
**fact_name**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Fact name to use.
Required when :emphasis:`input\_type=fact`.
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/hidden_value:
.. rst-class:: ansible-option-title
**hidden_value**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
The value contains sensitive information and should't be normally visible, useful e.g. for passwords
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`false`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/input_type:
.. rst-class:: ansible-option-title
**input_type**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string` / :ansible-option-required:`required`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
input type
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`"user"`
- :ansible-option-choices-entry:`"fact"`
- :ansible-option-choices-entry:`"variable"`
- :ansible-option-choices-entry:`"puppet\_parameter"`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/name:
.. rst-class:: ansible-option-title
**name**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string` / :ansible-option-required:`required`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
name of the Template Input
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/options:
.. rst-class:: ansible-option-title
**options**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=any`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Template values for user inputs. Must be an array of any type.
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/puppet_class_name:
.. rst-class:: ansible-option-title
**puppet_class_name**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Puppet class name.
Required when :emphasis:`input\_type=puppet\_parameter`.
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/puppet_parameter_name:
.. rst-class:: ansible-option-title
**puppet_parameter_name**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Puppet parameter name.
Required when :emphasis:`input\_type=puppet\_parameter`.
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/required:
.. rst-class:: ansible-option-title
**required**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Is the input required
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`false`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/resource_type:
.. rst-class:: ansible-option-title
**resource_type**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Type of the resource
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/value_type:
.. rst-class:: ansible-option-title
**value_type**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Type of the value
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`"plain"`
- :ansible-option-choices-entry:`"search"`
- :ansible-option-choices-entry:`"date"`
- :ansible-option-choices-entry:`"resource"`
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-template_inputs/variable_name:
.. rst-class:: ansible-option-title
**variable_name**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
Variable name to use.
Required when :emphasis:`input\_type=variable`.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-use_gssapi:
.. rst-class:: ansible-option-title
**use_gssapi**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
- .. raw:: html
Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication.
Requires the Python library \ `requests-gssapi `__ to be installed.
If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_USE\_GSSAPI` will be used instead.
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry-default:`false` :ansible-option-choices-default-mark:`← (default)`
- :ansible-option-choices-entry:`true`
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-username:
.. rst-class:: ansible-option-title
**username**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`string`
.. raw:: html
- .. raw:: html
Username accessing the Foreman server.
If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_USERNAME` will be used instead.
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__parameter-validate_certs:
.. rst-class:: ansible-option-title
**validate_certs**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`boolean`
.. raw:: html
- .. raw:: html
Whether or not to verify the TLS certificates of the Foreman server.
If the value is not specified in the task, the value of environment variable :literal:`FOREMAN\_VALIDATE\_CERTS` will be used instead.
.. rst-class:: ansible-option-line
:ansible-option-choices:`Choices:`
- :ansible-option-choices-entry:`false`
- :ansible-option-choices-entry-default:`true` :ansible-option-choices-default-mark:`← (default)`
.. raw:: html
.. Attributes
Attributes
----------
.. tabularcolumns:: \X{2}{10}\X{3}{10}\X{5}{10}
.. list-table::
:width: 100%
:widths: auto
:header-rows: 1
:class: longtable ansible-option-table
* - Attribute
- Support
- Description
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__attribute-check_mode:
.. rst-class:: ansible-option-title
**check_mode**
.. raw:: html
.. raw:: html
- .. raw:: html
:ansible-attribute-support-label:`Support: \ `\ :ansible-attribute-support-full:`full`
.. raw:: html
- .. raw:: html
Can run in check\_mode and return changed status prediction without modifying the entity
.. raw:: html
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__attribute-diff_mode:
.. rst-class:: ansible-option-title
**diff_mode**
.. raw:: html
.. raw:: html
- .. raw:: html
:ansible-attribute-support-label:`Support: \ `\ :ansible-attribute-support-full:`full`
.. raw:: html
- .. raw:: html
Will return details on what has changed (or possibly needs changing in check\_mode), when in diff mode
.. raw:: html
.. Notes
.. Seealso
.. Examples
Examples
--------
.. code-block:: yaml+jinja
- 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
.. Facts
.. Return values
Return Values
-------------
Common return values are documented :ref:`here `, the following are the fields unique to this module:
.. tabularcolumns:: \X{1}{3}\X{2}{3}
.. list-table::
:width: 100%
:widths: auto
:header-rows: 1
:class: longtable ansible-option-table
* - Key
- Description
* - .. raw:: html
.. _ansible_collections.theforeman.foreman.job_template_module__return-entity:
.. rst-class:: ansible-option-title
**entity**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`dictionary`
.. raw:: html
- .. raw:: html
Final state of the affected entities grouped by their type.
.. rst-class:: ansible-option-line
:ansible-option-returned-bold:`Returned:` success
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__return-entity/job_templates:
.. rst-class:: ansible-option-title
**job_templates**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
List of job templates.
.. rst-class:: ansible-option-line
:ansible-option-returned-bold:`Returned:` success
.. raw:: html
* - .. raw:: html
.. raw:: latex
\hspace{0.02\textwidth}\begin{minipage}[t]{0.3\textwidth}
.. _ansible_collections.theforeman.foreman.job_template_module__return-entity/template_inputs:
.. rst-class:: ansible-option-title
**template_inputs**
.. raw:: html
.. ansible-option-type-line::
:ansible-option-type:`list` / :ansible-option-elements:`elements=dictionary`
.. raw:: html
.. raw:: latex
\end{minipage}
- .. raw:: html
List of template inputs associated with the job template.
.. rst-class:: ansible-option-line
:ansible-option-returned-bold:`Returned:` success
.. raw:: html
.. Status (Presently only deprecated)
.. Authors
Authors
~~~~~~~
- Manuel Bonk (@manuelbonk) ATIX AG
- Matthias Dellweg (@mdellweg) ATIX AG
.. Extra links
Collection links
~~~~~~~~~~~~~~~~
.. ansible-links::
- title: "Issue Tracker"
url: "https://github.com/theforeman/foreman-ansible-modules/issues"
external: true
- title: "Homepage"
url: "https://theforeman.org/"
external: true
- title: "Repository (Sources)"
url: "https://github.com/theforeman/foreman-ansible-modules"
external: true
.. Parsing errors