
# 如何使用CLI
华为云命令行工具服务（Koo Command Line Interface，KooCLI，原名HCloud CLI）是为发布在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/overview)上的云服务API提供的命令行管理工具。您可以通过此工具调用API Explorer中ER开放的API，管理和使用您的ER资源。关于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)。
此处**以创建企业路由器** **API** **为例**，介绍如何从API Explorer生成CLI命令，然后执行CLI命令调用API。
1. 在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ER/cli?api=CreateEnterpriseRouter)的ER服务页面，选择要生成CLI命令的API。
2. 在中间的参数配置界面中，填写调用API所需的参数。
3. 在右侧界面选择"CLI示例"页签，可查看生成的CLI命令。 创建企业路由器API的CLI命令示例如下。
   ```
   hcloud ER CreateEnterpriseRouter --cli-region="cn-southwest-2" --project_id="08d5a9564a704afda6039ae2babbef3c" --instance.enterprise_project_id="0" --instance.enable_default_propagation=true --instance.availability_zone_ids.1="az1" --instance.availability_zone_ids.2="az2" --instance.enable_default_association=true --instance.name="my_er" --instance.description="this is my first enterprise router" --instance.asn=64512 --instance.tags.1.value="value1" --instance.tags.1.key="key1"
   ```
   
4. 复制生成的CLI命令，并粘贴到命令行窗口中执行。
   创建企业路由器API的CLI命令执行结果示例如下。
   ```
   {
   "instance": {
   "id": "94c2b814-99dc-939a-e811-ae84c61ea3ff",
   "name": "my_er",
   "description": "this is my first enterprise router",
   "asn": 64512,
   "project_id": "08d5a9564a704afda6039ae2babbef3c",
   "enable_default_association": true,
   "enable_default_propagation": true,
   "default_association_route_table_id": "7f7f738f-453c-40b1-be26-28e7b9e390c1",
   "default_propagation_route_table_id": "7f7f738f-453c-40b1-be26-28e7b9e390c1",
   "auto_accept_shared_attachments": false,
   "created_at": "2019-09-06 02:11:13Z",
   "updated_at": "2019-09-06 02:11:13Z",
   "tags": [
   {
   "key": "key1",
   "value": "value1"
   }
   ],
   "enterprise_project_id": 0,
   "availability_zone_ids": [
   "az1",
   "az2"
   ]
   },
   "request_id": "14c2b814-99dc-939a-e811-ae84c61ea3f4"
   }
   ```
   
 
