.. -*- mode: rst -*-
.. vim: ft=rst

bcfg2-reports
=============

.. program:: bcfg2-reports

Synopsis
--------

**bcfg2-reports** [-a] [-b *NAME*] [-c] [-d] [-e *NAME*] [-h]
[-m *NAME*] [-s *NAME*] [-x *NAME*] [--badentry=\ *KIND,NAME*]
[--extraentry=\ *KIND,NAME*] [--fields=\ *ARG1,ARG2,...*]
[--modifiedentry=\ *KIND,NAME*] [--sort=\ *ARG1,ARG2,...*] [--stale] [-v]

Description
-----------

:program:`bcfg2-reports` allows you to retrieve data from the database
about clients, and the states of their current interactions. It also
allows you to change the expired/unexpired states. The utility runs as a
standalone application. It does, however, use the models from
``src/lib/Bcfg2/Reporting/models.py``.

Options
-------

-h                Print usage information.

Modes
-----

The following are various modes available for :program:`bcfg2-reports`.

Single-Host Modes
+++++++++++++++++

-b, --bad hostname       Shows bad entries from the current
                         interaction of *hostname*.
-e, --extra hostname     Shows extra entries from the current
                         interaction of *hostname*.
-m, --modified hostname  Shows modified entries from the current
                         interaction of *hostname*.
-s, --show hostname      Shows bad, modified, and extra entries from
                         the current interaction of *hostname*.
-t, --total hostname     Shows total number of managed and good
                         entries from the current interaction of
                         *hostname*.
-x, --expire hostname    Toggles expired/unexpired state of
                         *hostname*.
-a, --all                Show all hosts, including expired hosts.

Host Selection Modes
++++++++++++++++++++

-a, --all     Show all hosts, including expired hosts.
-c, --clean   Show only clean hosts.
-d, --dirty   Show only dirty hosts.
--stale       Show hosts that haven't run in the last 24 hours.

Entry Modes
+++++++++++

The following mode flags require either a comma-delimited list of any
number of *<entry type>:<entry name>* arguments describing entries, or
the *--file* option.

--badentry=entrylist       Shows only hosts whose current interaction
                           has bad entries matching the given entry or
                           entries.
--extraentry=entrylist     Shows only hosts whose current interaction
                           has extra entries matching the given entry
                           or entries.
--entrystatus=entry        Shows the status of the single entry (given
                           by *<entry type>:<entry name>*) on all
                           hosts.
--modifiedentry=entrylist  Shows only hosts whose current interaction
                           has modified entries matching the given
                           entry or entries.

Entry Options
^^^^^^^^^^^^^

The following options can be used with the above Entry Modes.

--fields=fields  Only display the listed fields.  Takes a
                 comma-delimited list of field names
--file=file      Read *<entry type>:<entry name>* pairs from the
                 specified file instead of the command line.

See Also
--------

:manpage:`bcfg2(1)`, :manpage:`bcfg2-server(8)`
