` for details.
    To use it in a playbook, specify: :code:`theforeman.foreman.provisioning_template`.
.. version_added
.. rst-class:: ansible-version-added
New in theforeman.foreman 1.0.0
.. contents::
   :local:
   :depth: 1
.. Deprecated
Synopsis
--------
.. Description
- Manage Provisioning Templates
.. Aliases
Aliases: foreman_provisioning_template
.. Requirements
.. _ansible_collections.theforeman.foreman.provisioning_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.provisioning_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.provisioning_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.provisioning_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 Provisioning Template "content".
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.provisioning_template_module__parameter-kind:
      .. rst-class:: ansible-option-title
      **kind**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      The provisioning template kind
      .. rst-class:: ansible-option-line
      :ansible-option-choices:`Choices:`
      - :ansible-option-choices-entry:`"Bootdisk"`
      - :ansible-option-choices-entry:`"cloud\-init"`
      - :ansible-option-choices-entry:`"finish"`
      - :ansible-option-choices-entry:`"host\_init\_config"`
      - :ansible-option-choices-entry:`"iPXE"`
      - :ansible-option-choices-entry:`"job\_template"`
      - :ansible-option-choices-entry:`"kexec"`
      - :ansible-option-choices-entry:`"POAP"`
      - :ansible-option-choices-entry:`"provision"`
      - :ansible-option-choices-entry:`"PXEGrub"`
      - :ansible-option-choices-entry:`"PXEGrub2"`
      - :ansible-option-choices-entry:`"PXELinux"`
      - :ansible-option-choices-entry:`"registration"`
      - :ansible-option-choices-entry:`"script"`
      - :ansible-option-choices-entry:`"snippet"`
      - :ansible-option-choices-entry:`"user\_data"`
      - :ansible-option-choices-entry:`"ZTP"`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.provisioning_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.provisioning_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:`false`
      - :ansible-option-choices-entry:`true`
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.provisioning_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 Provisioning 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.provisioning_template_module__parameter-operatingsystems:
      .. rst-class:: ansible-option-title
      **operatingsystems**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`list` / :ansible-option-elements:`elements=string`
      .. raw:: html
        
 
    - .. raw:: html
        
      List of operating systems the entity should be assigned to.
      Operating systems are looked up by their title which is composed as "\ \.\".
      You can omit the version part as long as you only have one operating system by that name.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.provisioning_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.provisioning_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.provisioning_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.provisioning_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.provisioning_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 provisioning template.
      Either this or :emphasis:`file\_name` is required as a source for the Provisioning Template "content".
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.provisioning_template_module__parameter-updated_name:
      .. rst-class:: ansible-option-title
      **updated_name**
      .. raw:: html
        
      .. ansible-option-type-line::
        :ansible-option-type:`string`
      .. raw:: html
        
 
    - .. raw:: html
        
      New provisioning template name. When this parameter is set, the module will not be idempotent.
      .. raw:: html
        
  * - .. raw:: html
        
        
      .. _ansible_collections.theforeman.foreman.provisioning_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.provisioning_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.provisioning_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.provisioning_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.provisioning_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
    # 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
.. 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.provisioning_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.provisioning_template_module__return-entity/provisioning_templates:
      .. rst-class:: ansible-option-title
      **provisioning_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 provisioning templates.
      .. rst-class:: ansible-option-line
      :ansible-option-returned-bold:`Returned:` success
      .. raw:: html
        
..  Status (Presently only deprecated)
.. Authors
Authors
~~~~~~~
- Bernhard Hopfenmueller (@Fobhep) 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