theforeman.foreman.foreman – Foreman inventory source
theforeman.foreman.foreman – Foreman inventory source
Note
This plugin is part of the theforeman.foreman collection (version 1.5.1).
To install it use: ansible-galaxy collection install theforeman.foreman
.
To use it in a playbook, specify: theforeman.foreman.foreman
.
Synopsis
- Get inventory hosts from Foreman.
- Uses a YAML configuration file that ends with
foreman.(yml|yaml)
.
Requirements
The below requirements are needed on the local controller node that executes this inventory.
- requests >= 1.1
Parameters
Parameter | Choices/Defaults | Configuration | Comments |
---|---|---|---|
batch_size integer |
Default: 250 |
Number of hosts per batch that will be retrieved from the Foreman API per individual call | |
cache boolean |
|
ini entries: [inventory]cache = no
env:ANSIBLE_INVENTORY_CACHE |
Toggle to enable/disable the caching of the inventory's source data, requires a cache plugin setup to work. |
cache_connection string |
ini entries: [defaults]fact_caching_connection = None [inventory]cache_connection = None
env:ANSIBLE_CACHE_PLUGIN_CONNECTION env:ANSIBLE_INVENTORY_CACHE_CONNECTION |
Cache connection data or path, read cache plugin documentation for specifics. | |
cache_plugin string |
Default: "memory" |
ini entries: [defaults]fact_caching = memory [inventory]cache_plugin = memory
env:ANSIBLE_CACHE_PLUGIN env:ANSIBLE_INVENTORY_CACHE_PLUGIN |
Cache plugin to use for the inventory's source data. |
cache_prefix string |
Default: "ansible_inventory_" |
ini entries: [default]fact_caching_prefix = ansible_inventory_ [inventory]cache_prefix = ansible_inventory_
env:ANSIBLE_CACHE_PLUGIN_PREFIX env:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX |
Prefix to use for cache plugin files/tables |
cache_timeout integer |
Default: 3600 |
ini entries: [defaults]fact_caching_timeout = 3600 [inventory]cache_timeout = 3600
env:ANSIBLE_CACHE_PLUGIN_TIMEOUT env:ANSIBLE_INVENTORY_CACHE_TIMEOUT |
Cache duration in seconds |
compose dictionary |
Default: {} |
Create vars from jinja2 expressions. | |
foreman string |
Foreman server related configuration, deprecated. You can pass use_reports_api in this dict to enable the Reporting API. Only for backward compatibility. | ||
group_prefix string |
Default: "foreman_" |
prefix to apply to foreman groups | |
groups dictionary |
Default: {} |
Add hosts to group based on Jinja2 conditionals. | |
host_filters string |
This can be used to restrict the list of returned host | ||
hostnames list / elements=string |
Default: ["name"] |
A list of templates in order of precedence to compose inventory_hostname. If the template results in an empty string or None value it is ignored. | |
keyed_groups list / elements=string |
Default: [] |
Add hosts to group based on the values of a variable. | |
legacy_hostvars boolean |
|
Toggle, if true the plugin will build legacy hostvars present in the foreman script Places hostvars in a dictionary with keys `foreman`, `foreman_facts`, and `foreman_params` | |
max_timeout integer |
Default: 600 |
Timeout before falling back to old host API when using report_data endpoint while polling. | |
password string / required |
env:FOREMAN_PASSWORD |
Password of the user accessing the Foreman server. | |
plugin string / required |
|
token that ensures this is a source file for the | |
poll_interval integer |
Default: 10 |
The polling interval between 2 calls to the report_data endpoint while polling. | |
report dictionary |
Report API specific configuration, deprecated. You can pass the Report API specific params as part of this dict, instead of the main configuration. Only for backward compatibility. | ||
strict boolean |
|
If Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. | |
url string |
Default: |
env:FOREMAN_SERVER env:FOREMAN_SERVER_URL env:FOREMAN_URL |
URL of the Foreman server. |
use_reports_api boolean |
|
Use Reporting API. | |
user string / required |
env:FOREMAN_USER env:FOREMAN_USERNAME |
Username accessing the Foreman server. | |
validate_certs boolean |
|
env:FOREMAN_VALIDATE_CERTS |
Whether or not to verify the TLS certificates of the Foreman server. |
vars_prefix string |
Default: "foreman_" |
prefix to apply to host variables, does not include facts nor params | |
want_content_facet_attributes boolean |
|
Toggle, if true the inventory will fetch content view details that the host is tied to. | |
want_facts boolean |
|
Toggle, if True the plugin will retrieve host facts from the server | |
want_host_group boolean |
|
Toggle, if true the inventory will fetch host_groups and create groupings for the same. | |
want_hostcollections boolean |
|
Toggle, if true the plugin will create Ansible groups for host collections | |
want_ipv4 boolean |
|
Toggle, if true the inventory will fetch ipv4 address of the host. | |
want_ipv6 boolean |
|
Toggle, if true the inventory will fetch ipv6 address of the host. | |
want_location boolean |
|
Toggle, if true the inventory will fetch location the host belongs to and create groupings for the same. | |
want_organization boolean |
|
Toggle, if true the inventory will fetch organization the host belongs to and create groupings for the same. | |
want_params boolean |
|
Toggle, if true the inventory will retrieve 'all_parameters' information as host vars | |
want_smart_proxies boolean |
|
Toggle, if true the inventory will fetch smart proxy that the host is registered to. | |
want_subnet boolean |
|
Toggle, if true the inventory will fetch subnet. | |
want_subnet_v6 boolean |
|
Toggle, if true the inventory will fetch ipv6 subnet. |
Examples
# my.foreman.yml
plugin: theforeman.foreman.foreman
url: https://foreman.example.com
user: ansibleinventory
password: changeme
host_filters: 'organization="Web Engineering"'
# shortname.foreman.yml
plugin: theforeman.foreman.foreman
url: https://foreman.example.com
user: ansibleinventory
password: changeme
hostnames:
- name.split('.')[0]
© 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/foreman_inventory.html