CommandDocumentation#
Command-line Documentation Guidelnes#
IPA provides a set of command-line utilities that perform actions as varied as installing the product, managing replicas and administering the IPA data. The clearest differentiator is the command which executes these.
The ipa command executes data management commands (user, group,
etc.) and the ipa- (dash) commands are generally used in a more
limited way (e.g. ipa-server-install, ipa-replica-manage). I
refer to these as the standalone commands.
Command types#
The standalone commands each have their own man page. This includes a description of what the command does and a list of the available options (and perhaps even an example or two).
The ipa command executes commands from the XML-RPC framework and
manages data in the IPA database. There is a single man page for the ipa
command with an overview of its capabilites, but not a complete list of
all plugins and what their various options do.
Getting help#
ipa- commands#
To get help from a standalone command use either the –help option or see the man page:
% ipa-replica-manage --helpUsage: ipa-replica-manage [options]Options:% man ipa-replica-manage
Framework commands (ipa)#
There are a number of different ways to get help from the ipa
command.
The overall man page for the command:
% man ipa
Note that ipa –help and ipa help are two different, if confusing, things.
ipa --help provides assistance on using the ipa command itself.
ipa help provides assistance on the data management commands within
ipa.
A list of available topics. A topic is a high-level view of the data management. For example user, group and host are topics.
% ipa help topicsUsage: ipa [global-options] COMMAND ...Built-in commands:Help topics:Try `ipa --help for a list of global options.`To dive into a particular topic:
% ipa help userUsers (Identity)Related commands:To get help on a particular framework command:
% ipa help user-addPurpose: Create new user.Usage: ipa [global-options] user-add LOGINOptions:The framework commands are supposed to be self-documenting, with the ipa man page there to describe the basic layout of how things should work. Not all plugins currently have extra documentation but the goal is to have help like the dns plugin:
% ipa help dnsDomain Name System (DNS) pluginImplements a set of commands useful for manipulating DNS records used bythe BIND LDAP plugin.EXAMPLES:......Rules of the Road#
Standalone commands#
Every standalone command must have:
A man page
Usage output
Framework commands#
Framework commands must have:
A single man page, ipa
Basic usage output for options, this is automatic (
ipa user-add --help)An overview of the command via
ipa help <topic>
The overview comes from the initial docstring in the plugin itself. It should include:
User-understandable plugin name
Basic description of what the plugin does
Usage examples