GET /api/config_reports
List all reports

Examples

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

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

search
optional

filter results

Validations:

  • String

order
optional

Sort and order by a searchable field, e.g. '<field> DESC'

Validations:

  • String

page
optional

Page number, starting at 1

Validations:

  • Must be a number.

per_page
optional

Number of results per page to return, 'all' to return all results

Validations:

  • Must match regular expression /\A([1-9]\d*|all)\Z$/.

Search fields

Field name Type Possible values
applied integer
eventful true, false
failed integer
failed_restarts integer
host string
host_id integer
host_owner_id integer
hostgroup string
hostgroup_fullname string
hostgroup_title string
id integer
last_report datetime
location string
log text
organization string
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/9
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": "2024-02-22 15:41:39 UTC",
  "updated_at": "2024-02-22 15:41:39 UTC",
  "id": 9,
  "host_id": 980191045,
  "host_name": "host26",
  "reported_at": "2024-02-22 15:41:39 UTC",
  "status": {
    "applied": 0,
    "restarted": 0,
    "failed": 0,
    "failed_restarts": 0,
    "skipped": 0,
    "pending": 0
  },
  "origin": null,
  "logs": [],
  "summary": "Success"
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..


POST /api/config_reports
Create a report

Examples

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

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

config_report
required

Validations:

  • Hash

config_report[host]
required

Hostname or certname

Validations:

  • String

config_report[reported_at]
required

UTC time of report

Validations:

  • String

config_report[status]
required

Hash of status type totals

Validations:

  • Hash

config_report[metrics]
required

Hash of report metrics, can be just {}

Validations:

  • 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/15
{
  "config_report": {}
}
200
{
  "id": 15,
  "host_id": 980191052,
  "reported_at": "2024-02-22T15:41:39.303Z",
  "created_at": "2024-02-22T15:41:39.304Z",
  "updated_at": "2024-02-22T15:41:39.304Z",
  "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

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • String


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

Examples

GET /api/hosts/host19/config_reports/last
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": "2024-02-22 15:41:38 UTC",
  "updated_at": "2024-02-22 15:41:38 UTC",
  "id": 2,
  "host_id": 980191038,
  "host_name": "host19",
  "reported_at": "2024-02-22 15:41:38 UTC",
  "status": {
    "applied": 0,
    "restarted": 0,
    "failed": 0,
    "failed_restarts": 0,
    "skipped": 0,
    "pending": 0
  },
  "origin": null,
  "logs": [],
  "summary": "Success"
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..