mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-01-11 00:31:56 -06:00
88d8534e49
This includes: * Section about command/param info in usage guide * Section about metadata retrieval in usage guide * Guide about differences between CLI and API * Access control guide (management of roles, privileges and permissions). * Guide about API contexts * JSON-RPC usage guide and JSON-to-Python conversion * Notes about types in API Reference Signed-off-by: Antonio Torres <antorres@redhat.com> Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> Reviewed-By: Rob Crittenden <rcritten@redhat.com>
48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# Differences between API and CLI usage
|
|
|
|
While the functionality between API and CLI is mostly the same, there are some
|
|
difference in their usage that should be taken into account.
|
|
|
|
- [Differences between API and CLI usage](#differences-between-api-and-cli-usage)
|
|
- [Command naming](#command-naming)
|
|
- [Parameter naming](#parameter-naming)
|
|
- [Date format](#date-format)
|
|
- [CLI-specific tools](#cli-specific-tools)
|
|
|
|
## Command naming
|
|
|
|
Commands in the CLI are constructed by specifying a topic and an action, with a
|
|
hyphen between them: `user-add`, `group-mod`, `host-del`. When accessing through
|
|
the API, the topic and the action are divided by an underscore instead:
|
|
`user_add`, `group_mod`, `host_del`. All available commands can be found below
|
|
`api.Command` after the API is initialized.
|
|
|
|
## Parameter naming
|
|
|
|
When managing plugins through the CLI, their parameters have different names
|
|
than the API, where names are the same as the LDAP attributes. For example,
|
|
`user-add` takes the `first` parameter in the CLI. However, this is named
|
|
`givenname` when calling `user_add` through the Python API.
|
|
|
|
## Date format
|
|
|
|
When passing dates through the CLI, multiple date string formats are available:
|
|
|
|
* %Y%m%d%H%M%SZ
|
|
* %Y-%m-%dT%H:%M:%SZ
|
|
* %Y-%m-%dT%H:%MZ
|
|
* %Y-%m-%dZ
|
|
* %Y-%m-%d %H:%M:%SZ
|
|
* %Y-%m-%d %H:%MZ
|
|
|
|
When using the API, apart from these formats, the Python built-in `datetime` class
|
|
can be used as well.
|
|
|
|
## CLI-specific tools
|
|
|
|
FreeIPA provides multiple tools that are mainly useful for CLI usage:
|
|
|
|
* `console`: starts an interactive Python console with an IPA API object already initialized.
|
|
* `help`: shows help about topics and commands, including examples for the CLI.
|
|
* `show-mappings`: shows the mapping between CLI parameter names and LDAP attributes.
|