Note
This plugin 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.job_invocation
.
New in version 1.4.0: of theforeman.foreman
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
bookmark string | Bookmark to infer the search query from | ||
command string | Command to be executed on host. Required for command templates | ||
concurrency_control dictionary | Control concurrency level and distribution over time | ||
concurrency_level integer | Maximum jobs to be executed at once | ||
time_span integer | Distribute tasks over given number of seconds | ||
execution_timeout_interval integer | Override the timeout interval from the template for this invocation only | ||
inputs dictionary | Inputs to use | ||
job_template string / required | Job template to execute | ||
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. | ||
randomized_ordering boolean |
| Whether to order the selected hosts randomly | |
recurrence dictionary | Schedule a recurring job | ||
cron_line string | How often the job should occur, in the cron format | ||
end_time string | Perform no more executions after this time | ||
max_iteration integer | Repeat a maximum of N times | ||
scheduling dictionary | Schedule the job to start at a later time | ||
start_at string | Schedule the job for a future time | ||
start_before string | Indicates that the action should be cancelled if it cannot be started before this time. | ||
search_query string | Search query to identify hosts | ||
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. | ||
ssh dictionary | ssh related options | ||
effective_user string | What user should be used to run the script (using sudo-like mechanisms) Defaults to a template parameter or global setting | ||
targeting_type string |
| Dynamic query updates the search results before execution (useful for scheduled jobs) | |
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. |
- name: "Run remote command on a single host once" job_invocation: search_query: "name ^ (foreman.example.com)" command: 'ls' job_template: "Run Command - SSH Default" ssh: effective_user: "tester" - name: "Run ansible command on active hosts once a day" job_invocation: bookmark: 'active' command: 'pwd' job_template: "Run Command - Ansible Default" recurrence: cron_line: "30 2 * * *" concurrency_control: concurrency_level: 2
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
entity dictionary | success | Final state of the affected entities grouped by their type. | |
job_invocations list / elements=dictionary | success | List of job invocations |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/theforeman/foreman/job_invocation_module.html