CLI Plugin for Foreman Remote Execution ↑

This Hammer CLI plugin contains commands for foreman_remote_execution.

Examples ↑

Templates ↑

List templates ↑

hammer job-template list

Create a template ↑

hammer job-template create --file /tmp/template.txt --name "Ping a Host"\
  --provider-type SSH --job-category "Commands"

Create a template input ↑

hammer template-input create --template-id 17 --name hostname\
  --input-type user --options www.google.com,www.facebook.com,localhost

Jobs ↑

Show jobs ↑

hammer job-invocation list

Show details:

hammer job-invocation info --id 83

Run a job with command line inputs ↑

hammer job-invocation create --job-template "Run Command - SSH Default" \
  --inputs command="ping -c 50 www.google.com" --search-query "name ~ rex01"
hammer job-invocation create --job-template "Package Action - SSH Default" \
  --inputs package=vim-enhanced,action=install --search-query "name ~ rex01"

Run a job with file inputs ↑

hammer job-invocation create --job-template "Run Command - SSH Default"\
  --input-files command=/tmp/script.sh --search-query "name ~ rex01"

Show output ↑

If the job is currently running, this will refresh until the job completes.

hammer job-invocation output --id 155 --host rex01.example.com

Alternatively, pass the --async option to see the output so far:

hammer job-invocation output --id 155 --host rex01.example.com --async

Developer Information ↑

Updating API docs ↑

In test/data/[foreman_version]/foreman_api.json, we include the Apipie documentation, with generated examples from the tests.

When adding new features to the hammer, you’ll need to update this.

  1. From foreman directory, run remote execution tests with examples enabled:

    APIPIE_RECORD=examples rake test:foreman_remote_execution
    
  2. From foreman directory, generate the apipie cache for English:

    FOREMAN_APIPIE_LANGS=en rake apipie:cache
    
  3. Copy the docs to hammer_cli_foreman_remote_execution

    cp public/apipie-cache/apidoc/v2.en.json ~/hammer_cli_foreman_remote_execution/test/data/1.10/foreman_api.json

License ↑

This project is licensed under the GPLv3+.