Deze pagina is nog niet beschikbaar in uw eigen taal. We werken er hard aan om meer taalversies toe te voegen. Bedankt voor uw steun.

On this page

Show all

How Do I Use cli-json-filter?

Updated on 2023-02-27 GMT+08:00

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:

By default, the original calling result is output in JSON format:
hcloud ECS NovaListServers --cli-region="eu-west-101" --project_id="0dd8cb****************19b5a84546"
{
  "servers": [
    {
      "name": "ecs-a6b4",
      "links": [
        {
          "rel": "self",
          "href": "https://ecs.eu-west-101.myhuaweicloud.eu/v2.1/0dd8cb****************19b5a84546/servers/4f06****-****-****-****-****04dd856a"
        },
        {
          "rel": "bookmark",
          "href": "https://ecs.eu-west-101.myhuaweicloud.eu/0dd8cb****************19b5a84546/servers/4f06****-****-****-****-****04dd856a"
        }
      ],
      "id": "4f06****-****-****-****-****04dd856a"
    },
    {
      "name": "hdn-docker",
      "links": [
        {
          "rel": "self",
          "href": "https://ecs.eu-west-101.myhuaweicloud.eu/v2.1/0dd8cb****************19b5a84546/servers/6731****-****-****-****-****0bc463f0"
        },
        {
          "rel": "bookmark",
          "href": "https://ecs.eu-west-101.myhuaweicloud.eu/0dd8cb****************19b5a84546/servers/6731****-****-****-****-****0bc463f0"
        }
      ],
      "id": "6731****-****-****-****-****0bc463f0"
    },
    {
      "name": "ecs-8f88",
      "links": [
        {
          "rel": "self",
          "href": "https://ecs.eu-west-101.myhuaweicloud.eu/v2.1/0dd8cb****************19b5a84546/servers/06a2****-****-****-****-****c79a1a26"
        },
        {
          "rel": "bookmark",
          "href": "https://ecs.eu-west-101.myhuaweicloud.eu/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="eu-west-101" --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

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback