theforeman.foreman.templates_import module – Sync Templates from a repository

Note

This module is part of the theforeman.foreman collection (version 2.2.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install theforeman.foreman.

To use it in a playbook, specify: theforeman.foreman.templates_import.

New in version 1.0.0: of theforeman.foreman

Synopsis

Requirements

The below requirements are needed on the host that executes this module.

  • requests

Parameters

Parameter

Comments

associate

string

Associate to Operatingsystems, Locations and Organizations based on metadata.

Choices:

  • always

  • new

  • never

branch

string

Branch of the repo. Only for git-based repositories.

dirname

string

The directory within Git repo containing the templates.

filter

string

Sync only templates with name matching this regular expression, after prefix was applied.

Case-insensitive, snippets are not filtered.

force

boolean

Update templates that are locked.

Choices:

  • no

  • yes

locations

list / elements=string

List of locations the entity should be assigned to

lock

boolean

Lock imported templates.

Choices:

  • no

  • yes

negate

boolean

Negate the filter condition.

Choices:

  • no

  • yes

organizations

list / elements=string

List of organizations the entity should be assigned to

password

string / required

Password of the user accessing the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_PASSWORD will be used instead.

prefix

string

Adds specified string to beginning of all imported templates that do not yet have that prefix.

repo

string

Filesystem path or repo (with protocol), for example /tmp/dir or git://example.com/repo.git or https://example.com/repo.git.

server_url

string / required

URL of the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_SERVER_URL will be used instead.

username

string / required

Username accessing the Foreman server.

If the value is not specified in the task, the value of environment variable FOREMAN_USERNAME will be used instead.

validate_certs

boolean

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 FOREMAN_VALIDATE_CERTS will be used instead.

Choices:

  • no

  • yes ← (default)

verbose

boolean

Add template reports to the output.

Choices:

  • no

  • yes

Notes

Note

  • Due to a bug in the foreman_templates plugin, this module won’t report changed=true when the only change is the Organization/Location association of the imported templates. Please see https://projects.theforeman.org/issues/29534 for details.

  • Default values for all module options can be set using theforeman.foreman.setting for TemplateSync category or on the settings page in WebUI.

Examples

- name: Sync templates from git repo
  theforeman.foreman.templates_import:
    repo: https://github.com/theforeman/community-templates.git
    branch: 1.24-stable
    associate: new
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

message

dictionary

Information about the import.

Returned: success

branch

string

Branch used in the repository.

Returned: success

repo

string

Repository, the templates were imported from.

Returned: success

report

dictionary

Report of the import.

Returned: success

changed

list / elements=string

List of templates that have been updated.

Returned: success

new

list / elements=string

List of templates that have been created.

Returned: success

templates

dictionary

Final state of the templates.

Returned: success

Authors

  • Anton Nesterov (@nesanton)