# 华为云CLI 安装 ## 华为云CLI介绍 ### 什么是华为云CLI 华为云CLI(Huawei Cloud CLI,简称HCloud CLI)是为发布在华为云API Explorer上的云服务API提供的命令行管理工具。您可以通过此工具调用华为云API Explorer中各云服务开放的API,管理和使用您的各类云服务资源。 HCloud CLI命令行工具灵活性高且易于扩展: - 单一可执行文件,绿色免安装,下载解压后即可使用。 - 多操作系统支持,包括Linux、Windows、Mac。 - 扩展性强,您可基于CLI工具对华为云API进行封装,扩展出您想要的功能,实现脚本化管理云服务资源。 ### CLI相关概念 在华为云CLI指导中常用到的词语,以下做出详细介绍,方便您的阅读理解。 - 命令 华为云CLI提供的各项操作指令,用于配置CLI工具环境,或者调用华为云各服务开放的API。 API调用命令格式如下: **hcloud [options] [--param1=paramValue1 --param2=paramValue2 ...]** 系统命令格式如下: **hcloud [options] [--param1=paramValue1 --param2=paramValue2 ...]** 在如下查询加速域名的命令中,service为“CDN”,operation为“ListDomains”,调用API所需的公共信息从名为“default”的[配置项](https://support.huaweicloud.com/productdesc-hcli/hcli_01_002.html#hcli_01_002__li5154152125314)中获取: ``` hcloud CDN ListDomains --cli-profile=default ``` - operation operation是指云服务在API Explorer上发布的API的英文名称,可唯一表达某API。云服务的operation列表可从[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/overview)上查询,或在CLI工具执行“hcloud --help”命令获取。 - 配置项 配置项用于存储一组调用云服务API时所需的公共信息,由用户通过调用CLI命令完成配置。各配置项组成配置文件,存储在用户本地。用户在调用云服务API时,可通过指定配置项,代替这组公共信息的输入。 配置项支持配置的公共信息包括:访问密钥(AK/SK)、区域(cli-region)、项目ID(cli-project-id)、账号ID(cli-domain-id)等。 - 默认配置项 当命令中未指定配置项时,默认使用的配置项。华为云CLI默认将最后一次添加或修改的配置项作为默认配置项;若默认配置项被删除,将剩余配置项中最早被添加的配置项作为新的默认配置项。用户可以使用“hcloud configure set --cli-profile=${profileName}”命令切换默认配置项。 - 参数 参数可分为API参数和CLI系统参数。API参数是指云服务的API中定义的参数;CLI系统参数是指CLI工具的内置参数,具有其固定的使用方式和特定含义。[点击此处](https://support.huaweicloud.com/hcli_faq/hcli_19_001.html)查看CLI系统参数列表。 - 选项 CLI选项是指可以直接在调用API的命令中添加的CLI系统参数,并非所有的CLI系统参数都可作为选项使用。[点击此处](https://support.huaweicloud.com/usermanual-hcli/hcli_05.html)查看CLI选项列表。 ### 如何使用华为云CLI 1. 下载华为云CLI。 华为云CLI绿色免安装,下载到本地后解压即可使用。CLI支持Windows 64位、Linux AMD 64位、Linux ARM 64位、macOS AMD 64位、macOS ARM 64位,请根据您本地系统[下载](https://support.huaweicloud.com/qs-hcli/hcli_02_003.html)对应的版本。 2. 配置华为云CLI环境。 华为云CLI环境配置请参考[快速初始化配置](https://support.huaweicloud.com/qs-hcli/hcli_02_004.html)。 3. 获取云服务API调用命令。 获取云服务API调用命令有两种方式: - (推荐)API Explorer上获取 云服务的API可在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/overview)上查看。您可以在API Explorer上先填写好各参数的值,即可从“CLI示例”页签中直接获取命令。 - 华为云CLI帮助信息 查询 具体查询方法可参考[查看与执行云服务操作命令](https://support.huaweicloud.com/qs-hcli/hcli_02_005.html),Mac和Linux系统下查询方法类似。 4. 通过CLI工具调用云服务API。 输入完整的API调用命令后回车,即完成调用。 5. (可选)将CLI调用命令集成到您的自定义脚本中,实现云服务资源的自动化管理。 ## 华为云CLI使用 ### 准备工作 在使用华为云CLI前,需要完成一下的准备工作。 * 注册华为云账号 * 获取访问秘钥(Ak/SK) ### 安装华为云CLI 本次安装环境为Linux环境,所以在版本上选择Linux AMD 64位版本。 > 不清楚安装包版本的可以使用`echo $HOSTTYPE`命令查看当前系统版本。 > > ![2022.3.14-查看系统版本](images/2022.3.14-查看系统版本.png) #### 一键安装 使用以下命令一键安装华为云CLI: ``` shell curl -sSL https://hwcloudcli.obs.cn-north-1.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash ./hcloud_install.sh ``` 以上命令默认将华为云CLI下载至"/usr/local/hcloud"目录下,同时在“/usr/local/bin/”目录下创建华为云CLI的符号链接,并开启CLI自动补全功能。 您可在该命令执行过程中根据交互信息修改文件下载目录等。如执行过程中提示权限不足,您可切换至root用户重新执行安装命令。 如果希望使用默认配置并且跳过交互,可在命令末尾添加`-y`。 #### 手动安装 1. 下载华为云CLI ```shell curl -LO "https://hwcloudcli.obs.cn-north-1.myhuaweicloud.com/cli/latest/huaweicloud-cli-linux-amd64.tar.gz" wget "https://hwcloudcli.obs.cn-north-1.myhuaweicloud.com/cli/latest/huaweicloud-cli-linux-amd64.tar.gz" -O huaweicloud-cli-linux-amd64.tar.gz ``` 2. 解压工具包 ```shell tar -zxvf huaweicloud-cli-linux-amd64.tar.gz ``` 3. 将华为云CLI工具添加到系统PATH中 ```shell export PATH=$PATH:$(pwd)/ ``` ### 初始化配置 CLI初始化命令用于将常用的**永久**AK/SK和区域信息存储在配置文件中,避免执行操作时频繁输入这些固定信息。可通过如下命令初始化配置: `hcloud configure init` 输入命令后按回车进入交互模式,根据界面提示输入下表中的各参数值。 | 参数 | 说明 | | ----------------- | ------------------------------------------------------------ | | Access Key ID | 访问密钥(永久AK/SK)中的访问密钥ID,简称AK,初始化时必填。 | | Secret Access Key | 访问密钥(永久AK/SK)中的密码访问密钥,简称SK,初始化时必填。 | | Region Name | 区域,如cn-north-4,初始化时选填。 | > 说明: > > - 初始化过程中,为保障您的账号安全,对您输入的“Secret Access Key”进行了匿名化处理。在您输入过程中不会显示输入的字符,在输入结束回车至下一行时,会以“*”回显您的输入内容。在配置完成后,CLI会在本地**加密保存**配置项中的认证相关的敏感信息。 > - 如果重新执行初始化命令,则会在删除原配置文件后重新生成新的配置文件,配置文件保存地址如下: > - Windows系统: C:\Users\*{您的Windows系统用户名}*\.hcloud\config.json > - Linux系统: /home/{当前用户名}/.hcloud/config.json > - Mac系统: /Users/{当前用户名}/.hcloud/config.json > > 完成初始化后,可通过如下命令查询配置信息。华为云CLI1.2.7以前的版本**密文显示**查询结果中的敏感信息;1.2.7及以后的版本**匿名化显示**查询结果中的敏感信息。 > > `hcloud configure show --cli-profile=default` ### 查看与执行云服务操作命令 完成初始化配置后,即可查询华为云CLI支持的云服务列表,并执行相关命令。下文以文档数据库服务(DDS)查询指定API版本信息为例,说明如何查找与执行命令。 1. 查询云服务的operation列表 `hcloud \*\* --help` 2. 查询云服务具体operation的帮助信息 ​ `hcloud \* \* --help` 3. 执行调用API的命令,获取执行结果。 ​ `hcloud \* \* [--param1=paramValue1 --param2=paramValue2 ...]` ### 新增与修改配置项 华为云CLI目前支持在配置项中以如下组合方式配置认证参数:[访问密钥(永久AK/SK)](https://support.huaweicloud.com/usermanual-hcli/hcli_09_001.html),[临时安全凭证(临时AK/SK和SecurityToken)](https://support.huaweicloud.com/usermanual-hcli/hcli_09_005.html),[访问令牌(Token)](https://support.huaweicloud.com/usermanual-hcli/hcli_09_004.html)三种。其中,临时安全凭证(临时AK/SK和SecurityToken)与访问令牌(Token)都具有时效性。 初始化配置信息时,配置项的名称为“default”,且初始化时配置项中只允许配置永久AK/SK。如果您要使用其他认证方式,建议[新增配置项](https://support.huaweicloud.com/usermanual-hcli/hcli_03_003.html)。如果您要[修改初始化的配置项中的参数值](https://support.huaweicloud.com/usermanual-hcli/hcli_03_003.html),可使用**“**hcloud configure set --cli-profile=default --key1=value1...**”**命令。