GET /api/config_reports
List all reports

Examples

GET /api/hosts/host136/config_reports
200
{
  "total": 0,
  "subtotal": 0,
  "page": 1,
  "per_page": 20,
  "search": " host = host136",
  "sort": {
    "by": null,
    "order": null
  },
  "results": []
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

search
optional

filter results

Validations:

  • Must be a String

order
optional

Sort field and order, eg. ‘id DESC’

Validations:

  • Must be a String

page
optional

paginate results

Validations:

  • Must be a String

per_page
optional

number of entries per request

Validations:

  • Must be a String

Search fields

Field name Type Possible values
applied integer
environment string
eventful true, false
failed integer
failed_restarts integer
host string
host_id integer
hostgroup string
hostgroup_fullname string
hostgroup_title string
last_report datetime
log text
origin string
pending integer
reported datetime
resource text
restarted integer
skipped integer

GET /api/config_reports/:id
Show a report

Examples

GET /api/config_reports/1
200
{
  "metrics": {
    "time": {
      "schedule": 0.00083,
      "service": 0.149739,
      "mailalias": 0.000283,
      "cron": 0.000419,
      "config_retrieval": 16.3637869358063,
      "package": 0.003989,
      "filebucket": 0.000171,
      "file": 0.007025,
      "exec": 0.000299
    },
    "resources": {
      "total": 33
    },
    "changes": {},
    "events": {
      "total": 0
    }
  },
  "created_at": "2018-11-15 19:01:57 UTC",
  "updated_at": "2018-11-15 19:01:57 UTC",
  "id": 1,
  "host_id": 1,
  "host_name": "host153",
  "reported_at": "2018-11-15 19:01:57 UTC",
  "status": {
    "applied": 0,
    "restarted": 0,
    "failed": 0,
    "failed_restarts": 0,
    "skipped": 0,
    "pending": 0
  },
  "logs": [],
  "summary": "Success"
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.


POST /api/config_reports
Create a report

Examples

POST /api/config_reports
{
  "config_report": {
    "host": "rhel6n01.corp.com",
    "reported_at": "2010-11-19 02:39:04 UTC",
    "metrics": {},
    "status": {
      "applied": 0,
      "failed": 0,
      "failed_restarts": 0,
      "pending": 0,
      "restarted": 0,
      "skipped": 0
    },
    "logs": [
      {
        "log": {
          "sources": {
            "source": "Puppet"
          },
          "messages": {
            "message": "Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find node 'rhel6n01.corp.com'; cannot compile"
          },
          "level": "err"
        }
      },
      {
        "log": {
          "sources": {
            "source": "Puppet"
          },
          "messages": {
            "message": "Using cached catalog"
          },
          "level": "notice"
        }
      },
      {
        "log": {
          "sources": {
            "source": "Puppet"
          },
          "messages": {
            "message": "Could not retrieve catalog; skipping run"
          },
          "level": "err"
        }
      }
    ]
  }
}
403
{
  "error": {
    "message": "Access denied",
    "details": "Missing one of the required permissions: upload_config_reports"
  }
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

config_report
required

Validations:

  • Must be a Hash

config_report[host]
required

Hostname or certname

Validations:

  • Must be a String

config_report[reported_at]
required

UTC time of report

Validations:

  • Must be a String

config_report[status]
required

Hash of status type totals

Validations:

  • Must be a Hash

config_report[metrics]
required

Hash of report metrics, can be just {}

Validations:

  • Must be a Hash

config_report[logs]
optional , nil allowed

Optional array of log hashes

Validations:

  • Must be an array of any type


DELETE /api/config_reports/:id
Delete a report

Examples

DELETE /api/config_reports/1
{
  "config_report": {}
}
200
{
  "id": 1,
  "host_id": 1,
  "reported_at": "2018-11-15T19:01:57.015Z",
  "created_at": "2018-11-15T19:01:57.016Z",
  "updated_at": "2018-11-15T19:01:57.016Z",
  "status": {
    "applied": 0,
    "restarted": 0,
    "failed": 0,
    "failed_restarts": 0,
    "skipped": 0,
    "pending": 0
  },
  "metrics": {
    "time": {
      "schedule": 0.00083,
      "service": 0.149739,
      "mailalias": 0.000283,
      "cron": 0.000419,
      "config_retrieval": 16.3637869358063,
      "package": 0.003989,
      "filebucket": 0.000171,
      "file": 0.007025,
      "exec": 0.000299
    },
    "resources": {
      "total": 33
    },
    "changes": {},
    "events": {
      "total": 0
    }
  },
  "origin": null
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be a String


GET /api/hosts/:host_id/config_reports/last
Show the last report for a host

Examples

GET /api/hosts/1/config_reports/last
404
{
  "error": {
    "message": "Resource config_report not found by id ''"
  }
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organizations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.