{"id":18753285,"url":"https://github.com/pingidentity/pingcli","last_synced_at":"2025-04-10T16:50:27.096Z","repository":{"id":257911006,"uuid":"864281485","full_name":"pingidentity/pingcli","owner":"pingidentity","description":"A unified command line interface for configuring and managing Ping Identity Services","archived":false,"fork":false,"pushed_at":"2025-03-25T20:12:41.000Z","size":973,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-25T20:36:24.380Z","etag":null,"topics":["pingfederate","pingone","terraform"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pingidentity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-27T21:04:41.000Z","updated_at":"2025-03-25T20:12:43.000Z","dependencies_parsed_at":"2024-11-14T21:24:56.486Z","dependency_job_id":"3fc769ed-8010-4265-ab09-cd96a9dfc5e7","html_url":"https://github.com/pingidentity/pingcli","commit_stats":null,"previous_names":["pingidentity/pingcli"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingidentity%2Fpingcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingidentity%2Fpingcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingidentity%2Fpingcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pingidentity%2Fpingcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pingidentity","download_url":"https://codeload.github.com/pingidentity/pingcli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248255721,"owners_count":21073370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pingfederate","pingone","terraform"],"created_at":"2024-11-07T17:25:08.331Z","updated_at":"2025-04-10T16:50:27.087Z","avatar_url":"https://github.com/pingidentity.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ping CLI\n\nThe Ping CLI is a unified command line interface for configuring and managing Ping Identity Services.\n\n## Install\n\n### Docker\n\nUse the [Ping CLI Docker image](https://hub.docker.com/r/pingidentity/pingcli)\n\nPull Image:\n```shell\ndocker pull pingidentity/pingcli:latest\n```\n\nExample Commands:\n```shell\ndocker run \u003cImage ID\u003e \u003csub commands\u003e\n\ndocker run \u003cImage ID\u003e --version\n```\n\n### macOS\n\n##### Homebrew\n\nUse PingIdentity's Homebrew tap to install Ping CLI\n\n```shell\nbrew install pingidentity/tap/pingcli\n```\nOR\n``` shell\nbrew tap pingidentity/tap\nbrew install pingcli\n```\n\n##### Manual Installation\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for artifact downloads, artifact signatures, and the checksum file. To verify package downloads, see the [Verify Section](#verify).\n\nOR\n\nUse the following single-line command to install Ping CLI into '/usr/local/bin' directly.\n\n```shell\nRELEASE_VERSION=$(basename $(curl -Ls -o /dev/null -w %{url_effective} https://github.com/pingidentity/pingcli/releases/latest)); \\\nOS_NAME=$(uname -s); \\\nHARDWARE_PLATFORM=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/); \\\nURL=\"https://github.com/pingidentity/pingcli/releases/download/${RELEASE_VERSION}/pingcli_${RELEASE_VERSION#v}_${OS_NAME}_${HARDWARE_PLATFORM}\"; \\\ncurl -Ls -o pingcli \"${URL}\"; \\\nmv pingcli /usr/local/bin/pingcli;\n```\n\n### Linux\n\n##### Homebrew\n\nUse PingIdentity's Homebrew tap to install Ping CLI\n\n```shell\nbrew install pingidentity/tap/pingcli\n```\nOR\n``` shell\nbrew tap pingidentity/tap\nbrew install pingcli\n```\n\n##### Alpine (.apk)\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for Alpine (.apk) package downloads. To verify package downloads, see the [Verify Section](#verify).\n\n```shell\napk add --allow-untrusted pingcli_\u003cversion\u003e_linux_amd64.apk\napk add --allow-untrusted pingcli_\u003cversion\u003e_linux_arm64.apk\n```\n\n##### Debian/Ubuntu (.deb)\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for Debian (.deb) package downloads. To verify package downloads, see the [Verify Section](#verify).\n\n```shell\napt-get install pingcli_\u003cversion\u003e_linux_amd64.deb\napt-get install pingcli_\u003cversion\u003e_linux_arm64.deb\n```\n\n##### CentOS/Fedora/RHEL (.rpm)\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for RPM (.rpm) package downloads. To verify package downloads, see the [Verify Section](#verify).\n\n```shell\nyum install pingcli_\u003cversion\u003e_linux_amd64.rpm\nyum install pingcli_\u003cversion\u003e_linux_arm64.rpm\ndnf install pingcli_\u003cversion\u003e_linux_amd64.rpm\ndnf install pingcli_\u003cversion\u003e_linux_arm64.rpm\n```\n\n##### Manual Installation\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for artifact downloads, artifact signatures, and the checksum file. To verify package downloads, see the [Verify Section](#verify).\n\nOR\n\nUse the following single-line command to install Ping CLI into '/usr/local/bin' directly.\n\n```shell\nRELEASE_VERSION=$(basename $(curl -Ls -o /dev/null -w %{url_effective} https://github.com/pingidentity/pingcli/releases/latest)); \\\nOS_NAME=$(uname -s); \\\nHARDWARE_PLATFORM=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/); \\\nURL=\"https://github.com/pingidentity/pingcli/releases/download/${RELEASE_VERSION}/pingcli_${RELEASE_VERSION#v}_${OS_NAME}_${HARDWARE_PLATFORM}\"; \\\ncurl -Ls -o pingcli \"${URL}\"; \\\nmv pingcli /usr/local/bin/pingcli;\n```\n\n### Windows\n\n##### Manual Installation\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for artifact downloads, artifact signatures, and the checksum file. To verify package downloads, see the [Verify Section](#verify).\n\nOR\n\nUse the following single-line PowerShell 7.4 command to install Ping CLI into '%LOCALAPPDATA%\\Programs' directly.\n```powershell\n$latestReleaseUrl = Invoke-WebRequest -Uri \"https://github.com/pingidentity/pingcli/releases/latest\" -MaximumRedirection 0 -ErrorAction Ignore -UseBasicParsing -SkipHttpErrorCheck; `\n$RELEASE_VERSION = [System.IO.Path]::GetFileName($latestReleaseUrl.Headers.Location); `\n$RELEASE_VERSION_NO_PREFIX = $RELEASE_VERSION -replace \"^v\", \"\"; `\n$HARDWARE_PLATFORM = $env:PROCESSOR_ARCHITECTURE -replace \"ARM64\", \"arm64\" -replace \"x86\", \"386\" -replace \"AMD64\", \"amd64\" -replace \"EM64T\", \"amd64\"; `\n$URL = \"https://github.com/pingidentity/pingcli/releases/download/${RELEASE_VERSION}/pingcli_${RELEASE_VERSION_NO_PREFIX}_windows_${HARDWARE_PLATFORM}\"\nInvoke-WebRequest -Uri $URL -OutFile \"pingcli.exe\"; `\nMove-Item -Path pingcli.exe -Destination \"${env:LOCALAPPDATA}\\Programs\"\n```\n\n## Verify\n\n### Checksums\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for the checksums.txt file. The checksums are in the format of SHA256.\n\n### GPG Signatures\n\nSee [the latest GitHub release](https://github.com/pingidentity/pingcli/releases/latest) for the artifact downloads and signature files.\n\n##### Add our public GPG Key via OpenPGP Public Key Server\n\n```shell\ngpg --keyserver keys.openpgp.org --recv-key 0x6703FFB15B36A7AC\n```\n\n##### Add our public GPG Key via MIT PGP Public Key Server\n```shell\ngpg --keyserver keys.openpgp.org --recv-key 0x6703FFB15B36A7AC\n```\n\n##### Verify Artifact via Signature File\n\n```shell \ngpg --verify \u003cartifact-name\u003e.sig \u003cartifact-name\u003e\n```\n\n## Configure Ping CLI\n\nBefore using the Ping CLI, you need to configure your Ping Identity Service profile(s). The following steps show the quickest path to configuration.\n\nStart by running the command to create a new profile and answering the prompts.\n\n```text\n$ pingcli config add-profile\nPingcli configuration file '/Users/\u003cme\u003e/.pingcli/config.yaml' does not exist. - No Action (Warning)\nCreating new Ping CLI configuration file at: /Users/\u003cme\u003e/.pingcli/config.yaml\nNew profile name: : dev\nNew profile description: : configuration for development environment\nSet new profile as active: : y\nAdding new profile 'dev'...\nProfile created. Update additional profile attributes via 'pingcli config set' or directly within the config file at '/Users/\u003cme\u003e/.pingcli/config.yaml' - Success\nProfile 'dev' set as active. - Success\n```\n\nThe newly create 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`.\n\nSee [Configuration Key Documentation](./docs/tool-configuration/configuration-key.md) for more information on configuration keys\nand their purposes.\n\nSee [Autocompletion Documentation](./docs/autocompletion/autocompletion.md) for information on loading autocompletion for select command flags.\n\n## Commands\n\nPing CLI commands have the following structure:\n\n```shell\npingcli \u003ccommand\u003e \u003csubcommand\u003e [options and parameters]\n```\n\nTo get the version of Ping CLI:\n\n```shell\npingcli --version\n```\n\n### Platform Export\n\nThe `pingcli platform export` command uses your configured settings to connect to the requested services and generate [Terraform import blocks](https://developer.hashicorp.com/terraform/language/import) for every supported resource available.\n\nAn example command to export a PingOne environment for HCL generation looks like:\n\n```shell\npingcli platform export --services \"pingone-platform,pingone-sso\"\n```\n\nThe 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](https://developer.hashicorp.com/terraform/language/import/generating-configuration).\n\n### Custom Request\n\nThe `pingcli request` command uses your configured settings to authenticate to the desired ping service before executing your API request. \n\nAn example command to view PingOne Environments looks like:\n\n```shell\npingcli request --http-method GET --service pingone environments\n```\n\n## Getting Help\n\nThe best way to interact with our team is through Github. You can [open an issue](https://github.com/pingidentity/pingcli/issues/new) for guidance, bug reports, or feature requests.\n\nPlease check for similar open issues before opening a new one.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpingidentity%2Fpingcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpingidentity%2Fpingcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpingidentity%2Fpingcli/lists"}