Hello Foreman Community,
I am trying to add a puppetclass to a host through the Foreman API v2, but I am not able to.
I am using foreman-1.15.2-1. I presume the API is also 1.15
I already checked this link and I’m trying to figure out why it doesn’t work for me.
The puppet class I’m trying to add has an id of 43. I checked it by doing a “GET /api/puppetclasses”.
The host has an id of 48. I checked it by doing a “GET /api/hosts”
The way I’m sending the POST request is:
curl -X POST -d “{\“43\”:2}” -H ‘Accept:version=2’ -H “Content-Type:application/json” -H “Accept:application/json” --header ‘Authorization: Basic <My_Authorization>’ --url https://<My_Foreman_Server>/api/v2/hosts/48/puppetclass_ids/
This returns the following error:
{
“error”: {“message”:“ERROR: insert or update on table “host_classes” violates foreign key constraint “host_classes_puppetclass_id_fk”\nDETAIL: Key (puppetclass_id)=(0) is not present in table “puppetclasses”.\n”}
}
Other PUT,POST,DELETE requests work fine. For example I am able to override parameter values, I am able to delete puppet classes from hosts etc. I just can’t get this to work.
My knowledge of HTTP and REST APIs is somewhat limited and I am not sure what I am doing wrong.
Any help would be appreciated