- Function Overview
- What's New
- Service Overview
- Getting Started
-
User Guide
- Configuration Management
- HTTP Proxy
- Commonly Used Commands
-
Options
- Option Overview
- Printing Help Information
- Printing Debugging Information
- Generating API Input Parameter Skeleton in JSON Format
- Checking Command
- Specifying Region
- Calling APIs with AK/SK in Non-configuration Mode
- Specifying Account ID
- Specifying Profile
- Specifying Authentication Mode
- Specifying Output Format
- Passing API Parameters with JSON File
- Specifying Request Timeouts
- Specifying Retry Count
- Skipping HTTPS Request Certificate Verification
- Specifying a Domain Name
- Polling Results
- Obtaining CLI Examples on API Explorer
- Using KooCLI in Non-configuration Mode
- Online Experience
- Obtaining Authentication Information
-
FAQs
- Overview
- Authentication
- Profiles
- Metadata Cache
- Logs
- Network Connections
- Cloud Services
- Cloud Service APIs
- Regions
-
Parameters
- What Are KooCLI System Parameters?
- Why Am I Seeing a Message Indicating an Invalid Parameter?
- Why Are Old and New KooCLI System Parameters (Such as region and cli-region) Available? Which Parameters Are Recommended?
- Why Am I Seeing a Message Indicating a Duplicate Parameter?
- How Do I Use cli-jsonInput?
- When Can I Use cli-jsonInput?
- Why Am I Seeing a Message Indicating an Unsupported Parameter Position or Type?
- How Do I Leave a Body Parameter Empty for Cloud Service APIs?
- Interactive Mode and Autocomplete
-
Output Formats
- What Output Formats Are Supported by KooCLI?
- How Do I Define a JMESPath Expression?
- Which KooCLI System Parameters Are Related to Data Output? Which Ones Are Recommended?
- How Do I Use cli-output, cli-query, and cli-output-num?
- How Do I Use cli-output-rows, cli-output-cols, and cli-output-num? What Are the Precautions?
- How Do I Use cli-json-filter? What Are the Precautions?
- Other
- Videos
- General Reference
Show all
Copied.
How Do I Use cli-json-filter?
By default, results are returned in JSON format when you call cloud service APIs using KooCLI. KooCLI supports the --cli-json-filter parameter to perform JMESPath query on JSON results. This option facilitates the extraction of key information in the results. For example:
hcloud ECS NovaListServers --cli-region="ap-southeast-1" --project_id="0dd8cb****************19b5a84546" { "servers": [ { "name": "ecs-a6b4", "links": [ { "rel": "self", "href": "https://ecs.ap-southeast-1.myhuaweicloud.com/v2.1/0dd8cb****************19b5a84546/servers/4f06****-****-****-****-****04dd856a" }, { "rel": "bookmark", "href": "https://ecs.ap-southeast-1.myhuaweicloud.com/0dd8cb****************19b5a84546/servers/4f06****-****-****-****-****04dd856a" } ], "id": "4f06****-****-****-****-****04dd856a" }, { "name": "hdn-docker", "links": [ { "rel": "self", "href": "https://ecs.ap-southeast-1.myhuaweicloud.com/v2.1/0dd8cb****************19b5a84546/servers/6731****-****-****-****-****0bc463f0" }, { "rel": "bookmark", "href": "https://ecs.ap-southeast-1.myhuaweicloud.com/0dd8cb****************19b5a84546/servers/6731****-****-****-****-****0bc463f0" } ], "id": "6731****-****-****-****-****0bc463f0" }, { "name": "ecs-8f88", "links": [ { "rel": "self", "href": "https://ecs.ap-southeast-1.myhuaweicloud.com/v2.1/0dd8cb****************19b5a84546/servers/06a2****-****-****-****-****c79a1a26" }, { "rel": "bookmark", "href": "https://ecs.ap-southeast-1.myhuaweicloud.com/0dd8cb****************19b5a84546/servers/06a2****-****-****-****-****c79a1a26" } ], "id": "06a2****-****-****-****-****c79a1a26" } ] }
Use --cli-json-filter to perform JMESPath query on the original JSON result, obtain the id and name of each servers element, and rename them EcsID and EcsName, respectively. The following is an example:
hcloud ECS NovaListServers --cli-region="ap-southeast-1" --project_id="0dd8cb****************19b5a84546" --cli-json-filter="servers[].{EcsID:id,EcsName:name}" [ { "EcsID": "4f06****-****-****-****-****04dd856a", "EcsName": "ecs-a6b4" }, { "EcsID": "6731****-****-****-****-****0bc463f0", "EcsName": "hdn-docker" }, { "EcsID": "06a2****-****-****-****-****c79a1a26", "EcsName": "ecs-8f88" } ]
--cli-json-filter can also be used in system commands. For example, to query all custom parameters of the profile test, run the following commands:
hcloud configure list --cli-custom=true --cli-json-filter="profiles[?name=='test'].custom" [ { "password": { "isEncrypted": true, "value": "****" }, "projectId": { "isEncrypted": false, "value": "06810000000000000000000000f89d2e" } } ]
For more information about how to use --cli-json-filter, see What Are the Precautions for Using cli-json-filter?
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot