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