Getting Started¶
This is a brief user guide for getting started with Incydr CLI tool. For more details on installation see Incydr CLI.
For details on how to migrate from the original Code42 CLI to the Incydr CLI, see Migration.
Authentication¶
To authenticate your CLI tool, configure an API client through the Incydr console and store the client ID, the secret, and the URL as settings.
Settings are loaded in the following priority:
- Shell environment variables
- An .env file in the current working directory
- An .env file in
~/.config/incydr
directory
The following values should be present in one of the above locations:
INCYDR_API_CLIENT_ID='api-client-key'
INCYDR_API_CLIENT_SECRET='api-client-secret'
INCYDR_URL='api_domain'
You must update the api_domain
value for your specific environment. To find the correct value, identify the URL you use to sign in to the Code42 web console, then note the corresponding API Domain value in the table below. Use https for all API requests.
Console Domain | API Domain |
---|---|
console.us.code42.com | https://api.us.code42.com |
console.us2.code42.com | https://api.us2.code42.com |
console.ie.code42.com | https://api.ie.code42.com |
console.gov.code42.com | https://api.gov.code42.com |
See Incydr SDK Settings for more available settings.
Output¶
Rich¶
The Incydr CLI uses Rich to format help messages and command outputs.
To disable Rich formatting in your log output, set INCYDR_USE_RICH=false
in your environment configuration.
If Rich is disabled, outputs will default to JSON format.
Lists¶
For lists, data can be output in a rich-formatted table
, csv
, json-pretty
, or json-lines
format. In most cases, format defaults to table
but can be specified with the --format
/-f
option.
Table output is intended to be a human-readable summary of the data and may default to a limited number of columns in some cases. CSV output defaults to include all columns. Use the --columns
option with either table
or csv
format to specify which columns should be included.
incydr users list --columns username,first_name,last_name
JSON Lines and CSV formatted outputs can be used in tandem with Incydr bulk commands to manage multiple entities at once.
Single Element¶
For single element returns, data generally defaults to a rich-formatted output specified as rich
. Other available formats include json-pretty
, or json-lines
and can be specified with the --format
/-f
option.
An example of the rich
output format:
$ incydr users show foo.bar@gmail.com --format rich
╭─────────── User foo.bar@gmail.com ────────────╮
│ legacy_user_id: 1 │
│ user_id: 10 │
│ username: foo.bar@gmail.com │
│ first_name: Foo │
│ last_name: Bar │
│ legacy_org_id: 10042 │
│ org_id: 100 │
│ org_guid: 000-000-000 │
│ org_name: Test-Org │
│ notes: None │
│ active: True │
│ blocked: False │
│ creation_date: 2022-11-17T21:05:52.781000Z │
│ modification_date: 2022-11-17T21:05:52.781000Z │
╰────────────────────────────────────────────────╯
An example of the json-pretty
output format:
$ incydr users show foo.bar@gmail.com --format json-pretty
{
"legacyUserId": "1",
"userId": "10",
"username": "foo.bar@gmail.com",
"firstName": "Foo",
"lastName": "Bar",
"legacyOrgId": "14405",
"orgId": "100",
"orgGuid": "000-000-000",
"orgName": "Test-Org",
"notes": null,
"active": true,
"blocked": false,
"creationDate": "2022-11-17T21:05:52.781000Z",
"modificationDate": "2022-11-17T21:05:52.781000Z"
}
--format json-lines
would output the same data as json-pretty
without any whitespace formatting.
More details on JSON Lines format.