Configuration & Environment Variables ¶
Configuration and Environment variables allow users to cache secure and repetitive settings into
a pingctl
config file. The default location of the file is ~/.pingidentity/config
.
You can specify a given configuration item in one of three ways: the pingctl
config file, the user's current environment variables, or through command line arguments. The order of priority (highest to lowest) is:
- Command-Line argument overrides (when available)
pingctl
config file- Environment variable overrides
PingOne Variables ¶
The standard PingOne variables used by pingctl
are as follows:
Variable | Description |
---|---|
PINGONE_API_URL | PingOne API URL (i.e. api.pingone.com/v1) |
PINGONE_AUTH_URL | PingOne Auth URL (i.e. auth.pingone.com, auth.pingone.eu, auth.pingone.asia) |
PINGONE_ENVIRONMENT_ID | PingOne Environment ID GUID |
PINGONE_WORKER_APP_CLIENT_ID | PingOne Worker App ID GUID with access to PingOne Environment |
PINGONE_WORKER_APP_GRANT_TYPE | PingOne Worker App Grant Type to use. Should be one of authorization_code, implicit or client_credential |
PINGONE_WORKER_APP_REDIRECT_URI | PingOne Worker App available redirect_uri. Defaults to http://localhost:8000 |
PINGONE_WORKER_APP_CLIENT_SECRET | PingOne Worker App Secret providing authentication to PingOne Worker App ID GUID |
Legacy ping-devops Variables ¶
Prior to the pingctl
CLI tool, ping-devops
was used to help with the management of docker, docker-console, and kustomize deployments (this utility has been deprecated). In configuring the legacy tool, several variables were used when deploying docker images into different environments.
The legacy variables still supported and managed by pingctl
are as follows:
Variable | Description |
---|---|
PING_IDENTITY_ACCEPT_EULA | Specify YES or NO to accept Ping Identity EULA |
PING_IDENTITY_DEVOPS_USER | Ping DevOps User |
PING_IDENTITY_DEVOPS_KEY | Ping DevOps Key |
PING_IDENTITY_DEVOPS_HOME | Home directory/path of your DevOps projects |
PING_IDENTITY_DEVOPS_REGISTRY | Default Docker registry from which to pull images |
PING_IDENTITY_DEVOPS_TAG | Default DevOps tag to use for deployments (i.e. 2205) |
pingctl Variables ¶
Additional variables honored by pingctl
are:
Variable | Description |
---|---|
PINGCTL_CONFIG | Location of the pingctl configuration file. Set as an environment variable only. Default: ~/.pingidentity/config |
PINGCTL_DEFAULT_OUTPUT | Specifies default format of data returned. Command-Line arg -o . Default: table |
PINGCTL_DEFAULT_POPULATION | Specifies default population to use for PingOne commands. Command-Line arg -p . Default: Default |
PINGCTL_OUTPUT_COLUMNS_{resource_type} | Specify custom format of table csv data to be returned. Command-Line arg -c . See more detail below |
PINGCTL_OUTPUT_SORT_{resource_type} | Specify column to use for sorting data. Command-Line arg -s . See more detail below |
PINGCTL_OUTPUT_COLUMNS ¶
There are two classes of variables provided by PINGCTL_OUTPUT
:
-
PINGCTL_OUTPUT_COLUMNS_{resource}
- Specifies the columns to display whenever apingctl pingone get {resource}
command is used.Same as the
-c
option on the command-line (see pingctl pingone get command).Format of value should be constructed with
HeadingName:jsonName,HeadingName:jsonName
. The best way to understand is by looking at the example of the defaultUSERS
resource:Example PINGCTL_OUTPUT_COLUMNS_USERS setting and output
PINGCTL_OUTPUT_COLUMNS_USERS=LastName:name.family,FirstName:name.given
Setting the above will generate output similar to:
``` $ pingctl pingone get users LastName FirstName -------- --------- Badham Antonik Agnès Enterle -- 2 'USERS' returned ``` Alternatively, you can use the `-c` option as a command-line argument: ``` $ pingctl pingone get users -c "LastName:name.family,FirstName:name.given,Username:username" LastName FirstName Username -------- --------- -------- Badham Antonik antonik_adham Agnès Enterle enterle_agnès -- 2 'USERS' returned ```
PINGCTL_OUTPUT_SORT ¶
-
PINGCTL_OUTPUT_SORT_{resource}
- specifies the column on which to sort.Same as the
-s
option on the command-line (see pingctl pingone get command).Format of the value should be constructed with
jsonName
. The name must be one of the entries inPINGCTL_OUTPUT_COLUMNS_{resource}
.Example PINGCTL_OUTPUT_SORT_USERS setting and output
PINGCTL_OUTPUT_SORT_USERS=name.family
Setting the above will generate output similar to the following (note that the LastName (name.family) is sorted):
$ pingctl pingone get users LastName FirstName -------- --------- Agnès Enterle Badham Antonik -- 2 'USERS' returned
Alternatively, you can use the
-s
option as a command-line argument:$ pingctl pingone get users -s "name.given" LastName FirstName Username -------- --------- -------- Agnès Enterle enterle_agnès Badham Antonik antonik_badham -- 2 'USERS' returned