Project

General

Profile

Actions

API » History » Revision 4

« Previous | Revision 4/39 (diff) | Next »
Frank Sweetser, 03/30/2011 12:43 PM


API

Foreman Smart Proxy provides a REST API, communicating via JSON.

Please refer to this document for latest information about Foreman Smart Proxy API.

List of API's

Path REST Type Description Example Input JSON
FEATURES
/features GET List of features supported by the proxy
DHCP
/dhcp GET Retrieve a list of subnets
/dhcp/10.1.2.0 GET Retrieve 10.1.2.0 subnets records
/dhcp/10.1.2.0/10.1.2.5 GET Retrieve 10.1.2.5 reservation information
/dhcp/10.1.2.0/unused_ip GET Provides an unused ip address in 10.1.2.0 subnet
/dhcp/10.1.2.0 POST creates new reservation in 10.1.2.0 subnet {"hostname":string, "name":string, "filename":string, "ip":string, "nextserver":string, "mac":string}
/dhcp/10.1.2.0/10.1.2.5 DELETE Deletes 10.1.2.5 reservation from 10.1.2.0 subnet
DNS
/dns POST Create a new DNS record {"fqdn":string(name/ip), "value":string(ip/reverse), "type":string(A/PTR)
/dns/value DELETE remove value(ip or reverse) DNS record
TFTP
/tftp/mac POST creates MAC address pxelinux configuration file {"syslinux_config":string
/tftp/mac DELETE remove MAC address pxelinux configuration file
/tftp/create_default POST creates a default pxelinux configuration file {"syslinux_config":string
/tftp/fetch_boot_file POST creates a default pxelinux configuration file {"prefix":string, "path":string
PUPPET CA
/puppet/ca GET list of all puppet certificates
/puppet/ca/autosign GET list of all puppet autosign entires
/puppet/ca/autosign/certname POST Add certname to Puppet autosign
/puppet/ca/autosign/certname DELETE Remove certname from Puppet autosign
PUPPET
/puppet/run POST Trigger puppet run / kick ["hostA", "hostB"]

Please raise a new issue if you need additional API's

Manually Calling the API

The API can be manually tested out using curl. GET types can be retrieved like any other URL. This one, for example, will return the HTML formatted page with the list of features enabled on the proxy.

curl http://localhost:8443/features

POST URLs, used to create objects or trigger actions, need to have the parameters passed in via the -d argument. This curl command line will trigger a puppetrun on server.example.com.

curl -d 'nodes=server.example.com' http://localhost:8443/puppet/run

Updated by Frank Sweetser over 13 years ago · 39 revisions