On this page
theforeman.foreman.job_invocation – Invoke Remote Execution Jobs
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
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
         | 
      
       
  | 
      
        
        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.
        | 
     |
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–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