theforeman.foreman.job_invocation – Invoke Remote Execution Jobs

From Get docs
Ansible/docs/2.10/collections/theforeman/foreman/job invocation module


theforeman.foreman.job_invocation – Invoke Remote Execution Jobs

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.job_invocation.


New in version 1.4.0: of theforeman.foreman


Synopsis

  • Invoke and schedule Remote Execution Jobs

Requirements

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

  • requests

Parameters

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

  • no
  • yes

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

  • static_query

  • dynamic_query

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

  • no
  • yes

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.



Examples

- 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

Return Values

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





Authors

  • Peter Ondrejka (@pondrejk)

© 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/job_invocation_module.html