
# 如何使用CLI
华为云命令行工具服务（Koo Command Line Interface，KooCLI，原名HCloud CLI）是为发布在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/overview)上的云服务API提供的命令行管理工具。您可以通过此工具调用API Explorer中ELB开放的API，管理和使用您的ELB资源。关于KooCLI的详细信息，请参见[什么是KooCLI](https://support.huaweicloud.com/productdesc-hcli/hcli_01.html)。
#### 安装KooCLI
在使用KooCLI前，您需要先安装KooCLI。KooCLI支持Windows、Linux和macOS三种操作系统，请根据您机器所使用的操作系统，安装对应版本的工具。
- [在Windows系统上安装KooCLI](https://support.huaweicloud.com/qs-hcli/hcli_02_003_01.html)
- [在Linux系统上安装KooCLI](https://support.huaweicloud.com/qs-hcli/hcli_02_003_02.html)
- [在MacOS系统上安装KooCLI](https://support.huaweicloud.com/qs-hcli/hcli_02_003_03.html)
- [在Docker中配置和使用KooCLI](https://support.huaweicloud.com/qs-hcli/hcli_02_003_05.html)
 
#### 配置KooCLI初始化
使用KooCLI调用API时，需要获取调用者的身份信息用于认证鉴权。通过配置KooCLI初始化，可以把永久AK/SK信息存储在配置文件中，避免在调用API时频繁输入这些固定信息。
**如果您不希望通过配置文件传入认证信息，而是直接在命令中传入认证相关参数，可跳过此步骤** ，具体操作可参见[无配置方式使用KooCLI](https://support.huaweicloud.com/usermanual-hcli/hcli_07_001.html)。
此处以Windows系统为例介绍如何配置KooCLI的初始化，Linux和MacOS系统的操作类似。在配置初始化前，您需要提前获取AK/SK信息，具体操作请参见[新增访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_05_0003.html#section1)。
1. 打开命令行窗口。
2. 执行以下命令进行初始化配置。
   ```
   hcloud configure init
   ```
   
3. 根据界面提示输入各参数值。
   ```
   Access Key ID [required]:      //必填，输入AK 
   Secret Access Key [required]:      //必填，输入SK，输入内容时系统会匿名化处理 
   Secret Access Key (again):      //必填，再次输入SK，输入内容时系统会匿名化处理 
   Region:      //选填，输入Region
   ```
   完成后，界面提示"初始化配置成功"。
   
 
#### 生成和执行CLI命令
KooCLI支持两种命令生成方式：
- 通过API Explorer快速生成并获取调用API的CLI命令。**推荐通过API Explorer获取CLI命令，更方便快捷。**
- 通过CLI命令查询API的操作命令和相关参数信息，然后手动拼接调用API的CLI命令，具体操作可参见[查看与执行云服务操作命令](https://support.huaweicloud.com/qs-hcli/hcli_02_005.html)。
此处**以ELB V3版本的** **创建负载均衡器API** **为例**，介绍如何从API Explorer生成CLI命令，然后执行CLI命令调用API。
1. 在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ELB/doc?version=v3&api=CreateLoadBalancer)的ELB服务页面，选择要生成CLI命令的API。
2. 在中间的参数配置界面中，填写调用API所需的参数。
3. 在右侧界面选择"CLI示例"页签，可查看生成的CLI命令。 创建负载均衡器API的CLI命令示例如下。
   ```
   hcloud ELB CreateLoadBalancer/v3 --cli-region="cn-north-4" --loadbalancer.availability_zone_list.1="AZ1" --loadbalancer.admin_state_up=true --loadbalancer.name="loadbalancer" --loadbalancer.description="my_loadbalancer" --loadbalancer.vip_subnet_cidr_id="1992ec06-f364-4ae3-b936-6a8cc24633b7" --loadbalancer.tags.1.value="tag1" --loadbalancer.tags.1.key="tab_key"
   ```
   
4. 复制生成的CLI命令，并粘贴到命令行窗口中执行。 创建负载均衡器API的CLI命令执行结果示例如下。
   ```
   {
     "loadbalancer" : {
       "name" : "loadbalancer",
       "id" : "29cc669b-3ac8-4498-9094-bdf6193425c2",
       "project_id" : "060576798a80d5762fafc01a9b5eedc7",
       "description" : "my_loadbalancer",
       "vip_port_id" : "98697944-0cc7-4d3b-a829-001c2fb82232",
       "vip_address" : "192.168.0.214",
       "admin_state_up" : true,
       "provisioning_status" : "ACTIVE",
       "operating_status" : "ONLINE",
       "listeners" : [ ],
       "pools" : [ ],
       "tags" : [ {
         "key" : "tab_key",
         "value" : "tag1"
       } ],
       "provider" : "vlb",
       "created_at" : "2023-03-22T07:59:57Z",
       "updated_at" : "2023-03-22T07:59:59Z",
       "vpc_id" : "a1f33a4c-95b9-48a7-9350-684e2ed844b3",
       "enterprise_project_id" : "134f2181-5720-47e7-bd78-1356ed3737d6",
       "availability_zone_list" : [AZ1 ],
       "ipv6_vip_address" : null,
       "ipv6_vip_virsubnet_id" : null,
       "ipv6_vip_port_id" : null,
       "publicips" : [ {
         "publicip_id" : "3388574a-4f6f-4471-869e-97d74d21eee9",
         "publicip_address" : "88.88.87.205",
         "ip_version" : 4
       } ],
       "global_eips" : [ ],
       "elb_virsubnet_ids" : [ ],
       "elb_virsubnet_type" : null,
       "ip_target_enable" : false,
       "autoscaling" : {
         "enable" : false,
         "min_l7_flavor_id" : ""
       },
       "frozen_scene" : null,
       "public_border_group" : "center",
       "eips" : [ {
         "eip_id" : "3388574a-4f6f-4471-869e-97d74d21eee9",
         "eip_address" : "88.88.87.205",
         "ip_version" : 4
       } ],
       "guaranteed" : false,
       "billing_info" : null,
       "l4_flavor_id" : null,
       "l4_scale_flavor_id" : null,
       "l7_flavor_id" : null,
       "l7_scale_flavor_id" : null,
       "waf_failure_action" : "",
       "vip_subnet_cidr_id" : "1992ec06-f364-4ae3-b936-6a8cc24633b7"
     },
     "request_id" : "bf29597181cb81b30d19f1a0115a157d"
   }
   ```
   
 
