The Ping CLI is a unified command line interface for configuring and managing Ping Identity Services.
Use the Ping CLI Docker image
Pull Image:
docker pull pingidentity/pingcli:latest
Example Commands:
docker run --rm pingidentity/pingcli:latest <sub commands>
docker run --rm pingidentity/pingcli:latest --version
Use PingIdentity's Homebrew tap to install Ping CLI
brew tap pingidentity/tap
brew install pingcli
See the latest GitHub release for artifact downloads, artifact signatures, and the checksum file. To verify package downloads, see the Verify Section.
OR
Use the following single-line command to install Ping CLI into '/usr/local/bin' directly.
RELEASE_VERSION=$(basename $(curl -Ls -o /dev/null -w %{url_effective} https://github.com/pingidentity/pingcli/releases/latest)); \
OS_NAME=$(uname -s); \
HARDWARE_PLATFORM=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/); \
URL="https://github.com/pingidentity/pingcli/releases/download/${RELEASE_VERSION}/pingcli_${RELEASE_VERSION#v}_${OS_NAME}_${HARDWARE_PLATFORM}"; \
curl -Ls -o pingcli "${URL}"; \
chmod +x pingcli; \
sudo mv pingcli /usr/local/bin/pingcli;
Use PingIdentity's Homebrew tap to install Ping CLI
brew tap pingidentity/tap
brew install pingcli
See the latest GitHub release for Alpine (.apk) package downloads. To verify package downloads, see the Verify Section.
NOTE: The following commands may require
sudo
if not run as the root user.
apk add --allow-untrusted ./pingcli_<version>_linux_amd64.apk
apk add --allow-untrusted ./pingcli_<version>_linux_arm64.apk
See the latest GitHub release for Debian (.deb) package downloads. To verify package downloads, see the Verify Section.
NOTE: The following commands may require
sudo
if not run as the root user.
apt install ./pingcli_<version>_linux_amd64.deb
apt install ./pingcli_<version>_linux_arm64.deb
See the latest GitHub release for RPM (.rpm) package downloads. To verify package downloads, see the Verify Section.
NOTE: The following commands may require
sudo
if not run as the root user.
yum install ./pingcli_<version>_linux_amd64.rpm
yum install ./pingcli_<version>_linux_arm64.rpm
OR
NOTE: The following commands may require
sudo
if not run as the root user.
dnf install ./pingcli_<version>_linux_amd64.rpm
dnf install ./pingcli_<version>_linux_arm64.rpm
NOTE:
- Use
yum
for CentOS/RHEL 7 and earlier, and for older Fedora systems.- Use
dnf
for Fedora 22+ and CentOS/RHEL 8+. Both commands achieve the same result; use the one appropriate for your distribution.
See the latest GitHub release for artifact downloads, artifact signatures, and the checksum file. To verify package downloads, see the Verify Section.
OR
Use the following single-line command to install Ping CLI into '/usr/local/bin' directly.
RELEASE_VERSION=$(basename $(curl -Ls -o /dev/null -w %{url_effective} https://github.com/pingidentity/pingcli/releases/latest)); \
OS_NAME=$(uname -s); \
HARDWARE_PLATFORM=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/); \
URL="https://github.com/pingidentity/pingcli/releases/download/${RELEASE_VERSION}/pingcli_${RELEASE_VERSION#v}_${OS_NAME}_${HARDWARE_PLATFORM}"; \
curl -Ls -o pingcli "${URL}"; \
chmod +x pingcli; \
sudo mv pingcli /usr/local/bin/pingcli;
See the latest GitHub release for artifact downloads, artifact signatures, and the checksum file. To verify package downloads, see the Verify Section.
OR
Use the following single-line PowerShell 7.4 command to install Ping CLI into '%LOCALAPPDATA%\Programs' directly.
NOTE: After installation, ensure that
%LOCALAPPDATA%\Programs
is included in your PATH environment variable. If it is not already present, add it so you can callpingcli
directly in your terminal.
$latestReleaseUrl = Invoke-WebRequest -Uri "https://github.com/pingidentity/pingcli/releases/latest" -MaximumRedirection 0 -ErrorAction Ignore -UseBasicParsing -SkipHttpErrorCheck; `
$RELEASE_VERSION = [System.IO.Path]::GetFileName($latestReleaseUrl.Headers.Location); `
$RELEASE_VERSION_NO_PREFIX = $RELEASE_VERSION -replace "^v", ""; `
$HARDWARE_PLATFORM = $env:PROCESSOR_ARCHITECTURE -replace "ARM64", "arm64" -replace "x86", "386" -replace "AMD64", "amd64" -replace "EM64T", "amd64"; `
$URL = "https://github.com/pingidentity/pingcli/releases/download/${RELEASE_VERSION}/pingcli_${RELEASE_VERSION_NO_PREFIX}_windows_${HARDWARE_PLATFORM}.exe"
Invoke-WebRequest -Uri $URL -OutFile "pingcli.exe"; `
Move-Item -Path pingcli.exe -Destination "${env:LOCALAPPDATA}\Programs"
See the latest GitHub release for the checksums.txt file. The checksums are in the format of SHA256.
See the latest GitHub release for the artifact downloads and signature files.
gpg --keyserver keys.openpgp.org --recv-key 0x6703FFB15B36A7AC
OR
gpg --keyserver pgp.mit.edu --recv-key 0x6703FFB15B36A7AC
gpg --verify <artifact-name>.sig <artifact-name>
Before using the Ping CLI, you need to configure your Ping Identity Service profile(s). The following steps show the quickest path to configuration.
Start by running the command to create a new profile and answering the prompts.
$ pingcli config add-profile
Ping CLI configuration file '$HOME/.pingcli/config.yaml' does not exist. - No Action (Warning)
Creating new Ping CLI configuration file at: $HOME/.pingcli/config.yaml
New profile name: : dev
New profile description: : configuration for development environment
Set new profile as active: : y
Adding new profile 'dev'...
Profile created. Update additional profile attributes via 'pingcli config set' or directly within the config file at '$HOME/.pingcli/config.yaml' - Success
Profile 'dev' set as active. - Success
The newly created profile can now be configured via the pingcli config set
command. General Ping Identity service connection settings are found under the service
key, and settings relevant to individual commands are found under their command names e.g. export
and request
.
See Configuration Key Documentation for more information on configuration keys and their purposes.
See Autocompletion Documentation for information on loading autocompletion for select command flags.
Ping CLI commands have the following structure:
pingcli <command> <subcommand> [options and parameters]
To get the version of Ping CLI:
pingcli --version
The pingcli platform export
command uses your configured settings to connect to the requested services and generate Terraform import blocks for every supported resource available.
An example command to export a PingOne environment for HCL generation looks like:
pingcli platform export --services "pingone-platform,pingone-sso"
The generated import blocks are organized into one folder with a file per resource type found. These import blocks can be used to generate terraform configuration.
The pingcli request
command uses your configured settings to authenticate to the desired ping service before executing your API request.
An example command to view PingOne Environments looks like:
pingcli request --http-method GET --service pingone environments
The best way to interact with our team is through Github. You can open an issue for guidance, bug reports, or feature requests.
Please check for similar open issues before opening a new one.