Project

General

Profile

Actions

Json-fact-format » History » Revision 6

« Previous | Revision 6/8 (diff) | Next »
Marek Hulán, 12/17/2013 01:37 PM


Json-fact-format

how to send facts

  • Foreman reports need to be sent to /api/hosts/facts
  • Following headers needs to be present:
      "Accept: application/json,version=2" 
      "Content-Type: application/json" 
    

facts JSON format

{
  "name"     => "fqdn.example.com",
  "certname" => "optional.certname.for.this.host",
  "facts"    => {
                  "fact1"                  => "value",
                  "fact2"                  => "value",
                  "fact2::nested:fact"     => "value",
                  "_timestamp"             => "2013-10-18 07:47:45 +0000",
                  "_type"                  => "puppet" 
                  "operatingsystem"        => 'Debian',
                  "operatingsystemrelease" => '7.0'
                }
}

Note that _timestamp, operatingsystem and operatingsystemrelease are mandatory. Certname is optional, but if provided it will be preferred over name to identify the host object in the db. _type identifies source of fact, currently only puppet is supported by Foreman core and is also a default value if unspecified. If you want to add another fact type, you can register your importer class in FactImporter.register_fact_importer. For more info and example see https://github.com/ares/foreman_chef

Updated by Marek Hulán about 11 years ago · 8 revisions