cheatsheet:foreman

Foreman

API

  • Get hostgroups
curl -u "admin" https://<foreman>/api/hostgroups
  • Get hostgroups which match <search>
curl -u "admin" https://<foreman>/api/hostgroups?search=<search>
  • Create hostgroups pdt1 to pdt 10 inheriting from base/pdt
for i in $(seq 1 10); do
    curl -X POST -H "Content-Type: application/json" \
        -d "{\"hostgroup\": {\"name\": \"pdt${i}\", \"parent_id\": \"14\"}}"  \
        -u "admin" https://<foreman>/api/hostgroups
done
# Import class into env production
hammer proxy import-classes --environment production --id 1
# Apply puppet classe to hostgroup
hammer hostgroup update --name '<hostgroup>'  --puppet-classes '<class1>,<class2>'
# Override all smart class param
for param_id in $(hammer sc-param list --environment production --search '<criteria>' | cut -d'|' -f1 | grep -o '[0-9]*'); do
  hammer sc-param update --override true --omit true --id \${param_id}
done
  • cheatsheet/foreman.txt
  • Last modified: 2024/10/14 20:59
  • by 127.0.0.1