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.
From foreman directory, run remote execution tests with examples enabled:
APIPIE_RECORD=examples rake test:foreman_remote_execution
From foreman directory, generate the apipie cache for English:
FOREMAN_APIPIE_LANGS=en rake apipie:cache
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+.