华为云用户手册

  • 创建新的访问密钥 如您尚未生成过或未能找到本地的AK/SK文件,可创建新的访问密钥: 登录控制台。 在顶部导航栏单击用户名,并选择“我的凭证”。 进入“我的凭证”页面,单击“管理访问密钥”页签下方的“新增访问密钥”。 在弹出的“新增访问密钥”对话框中,输入登录密码和对应验证码。 用户如果未绑定邮箱和手机,则只需输入登录密码。 用户如果同时绑定了邮箱和手机,可以选择其中一种方式进行验证。 单击“确定”。 根据浏览器提示,保存密钥。密钥会直接保存到浏览器默认的下载文件夹中。 为防止访问密钥泄露,建议您将其保存到安全的位置。如果用户在此提示框中单击“取消”,则不会下载密钥,后续也将无法重新下载。如果需要使用访问密钥,可以重新创建新的访问密钥。 访问密钥(AK和SK)需定期更新。 打开下载下来的“credentials.csv”文件即可获取到访问密钥(AK和SK)。
  • 设置配置项中的系统参数 设置配置项中的系统参数的示例如下: 增加配置项 新增配置项时,以“--cli-profile”声明配置项的名称,示例如下: 新增认证模式为AK/SK的配置项,其中认证参数为访问密钥,即永久AK(cli-access-key)和SK(cli-secret-key): hcloud configure set --cli-profile=testAKSK --cli-mode=AKSK --cli-region=cn-north-4 --cli-access-key=******** --cli-secret-key=******** --cli-project-id=068119468****************af89d2e --cli-domain-id=094518e46****************cfbc4c0 --cli-read-timeout=10 --cli-connect-timeout=5 新增认证模式为AK/SK的配置项,其中认证参数为临时安全凭证,即临时AK(cli-access-key),SK(cli-secret-key)和SecurityToken(cli-security-token): hcloud configure set --cli-profile=testAKSKST --cli-mode=AKSK --cli-region=cn-north-4 --cli-access-key=******** --cli-secret-key=******** --cli-security-token=******** --cli-project-id=068119468****************af89d2e --cli-domain-id=094518e46****************cfbc4c0 --cli-read-timeout=10 --cli-connect-timeout=5 当配置项的认证模式为AK/SK时,若该配置项中同时配置了cli-security-token参数值,则默认其中cli-access-key和cli-secret-key为临时AK/SK,否则为永久AK/SK。 新增认证模式为ecsAgency的配置项,无需添加认证参数: hcloud configure set --cli-profile=testEcsAgency --cli-mode=ecsAgency --cli-region=cn-north-4 --cli-read-timeout=10 --cli-connect-timeout=5 当在被委托的E CS 服务器中使用KooCLI调用云服务API时,会根据ECS委托自动获取临时认证信息。 新增认证模式为SSO的配置项,其中认证参数为用户门户URL(cli-sso-start-url),开通 IAM 身份中心实例所在的区域(cli-sso-region),账号名(cli-sso-account-name),权限集名称(cli-sso-permission-set-name),其中参数cli-sso-account-name与cli-sso-permission-set-name非必填: 先新增认证模式为SSO的配置项: hcloud configure set --cli-profile=testSSO --cli-mode=SSO --cli-region=cn-north-4 --cli-sso-start-url=https://idcenter.huaweicloud.com/d-3********6/portal --cli-sso-region=cn-north-4 --cli-sso-account-name=ACCOUNT_01 --cli-sso-permission-set-name=PERMISSION_01 进行SSO登录,若第一步中未配置cli-sso-account-name与cli-sso-permission-set-name参数,登录过程中需按照提示选择账号名与权限集名称: hcloud configure sso --cli-profile=testSSO 切换默认配置项 用户已配置多个配置项时,可执行如下命令切换默认配置项: hcloud configure set --cli-profile=test 切换语言 语言切换后,将作用于所有配置项。切换语言的命令为: hcloud configure set --cli-lang=en 切换本地数据的加密算法 用户添加配置项后,以此算法在本地加密保存取值的认证信息及custom参数。加密算法切换后,将作用于所有配置项。切换加密算法的命令为: hcloud configure set --cli-local-dea=gm 切换在线/离线模式 在线/离线模式切换后,将作用于所有配置项。切换为离线模式的命令为: hcloud configure set --cli-offline=true 修改是否提示Warning信息 是否提示Warning信息修改后,将作用于所有配置项。以自动化脚本执行命令时,关闭Warning提示信息,可以避免干扰解析命令执行的输出结果。关闭Warning信息的命令为: hcloud configure set --cli-warning=false 修改是否同意隐私声明 是否同意隐私声明修改后,将作用于所有配置项。首次使用KooCLI时,KooCLI会通过交互,提示用户阅读并同意隐私声明。对于不方便交互的场景,如以自动化脚本执行命令,可通过如下命令配置同意隐私声明: hcloud configure set --cli-agree-privacy-statement=true 修改是否加密存储配置文件中的认证信息 是否加密存储配置文件中的认证信息修改后,将作用于所有配置项。可通过如下命令配置不加密存储配置文件中的认证信息: hcloud configure set --cli-auth-encrypt=false 修改指定配置项的认证模式 同一配置项可同时配置多种认证模式相关的参数。通过如下命令可指定该配置项的认证模式: hcloud configure set --cli-profile=test --cli-mode=AKSK 修改指定配置项的区域 hcloud configure set --cli-profile=test --cli-region=cn-north-4 修改指定配置项的AK/SK AK和SK必须一起修改: hcloud configure set --cli-profile=test --cli-access-key=******** --cli-secret-key=******** 修改指定配置项的项目ID 部分云服务的API需要指定项目ID,用户可先获取项目ID,再将常用的项目ID添加到配置项中: hcloud configure set --cli-profile=test --cli-project-id=068119468****************af89d2e 修改指定配置项的请求连接超时时间 hcloud configure set --cli-profile=test --cli-connect-timeout=5 修改指定配置项的I/O超时时间 hcloud configure set --cli-profile=test --cli-read-timeout=10 修改指定配置项的请求连接重试次数 hcloud configure set --cli-profile=test --cli-retry-count=3 需要注意的是,因为使用“--cli-retry-count”设置重试次数可能会导致调用接口幂等性的问题,有重复调用的风险。对于创建类的接口,请您谨慎使用。 修改指定配置项的跳过https请求证书验证选项的值 hcloud configure set --cli-profile=test --cli-skip-secure-verify=true 注:配置项可以一次修改多个参数,例如同时修改cli-project-id和cli-region,命令如下: hcloud configure set --cli-profile=test --cli-project-id=0681194*******************f89d2e --cli-region=cn-north-4 父主题: 新增或修改配置项
  • 设置配置项中的custom参数 KooCLI支持向配置项中设置custom参数,方便用户集中管理命令中高频使用,参数值过长,或需要对其值加密处理的参数。使用如下命令进入交互模式,根据提示新增或修改配置项中的custom参数: hcloud configure set [--cli-profile=${profileName}] --cli-custom=true hcloud configure set --cli-profile=test --cli-custom=true 1.请输入custom参数的名称: projectId 2.此custom参数值是否加密保存(y/N): n 3.请输入custom参数的值: 06810000000000000000000000f89d2e 此custom参数已保存,使用`Ctrl+C`可终止设置custom参数 1.请输入custom参数的名称: password 2.此custom参数值是否加密保存(y/N): y 3.请输入custom参数的值: **** 此custom参数已保存,使用`Ctrl+C`可终止设置custom参数 custom参数的名称不能超过128位字符。在交互设置的过程中,用户可根据custom参数在使用中的实际需要判断该参数是否需要加密保存。对于需要加密保存的custom参数,为保障您的参数安全,对您输入的参数值进行了匿名化处理。在您输入过程中不会显示输入的字符,在输入结束回车至下一行时,会以“****”回显您的输入内容。 使用custom参数的方法是将命令中原参数的value值用“custom.${custom参数的名称}”代替,例如: hcloud ECS NovaListServers --cli-profile=test --project_id="custom.projectId" 使用被加密存储的custom参数时,KooCLI会在可能显示其值的情况下(例如:debug信息中打印的request请求的url,或dryrun模式下打印的body体参数),对其值做匿名化处理。 父主题: 新增或修改配置项
  • 概述 如果您需要同时在多个区域或多个项目下管理资源,或者同时使用多个账号,可以通过增加配置项的方式,存储多个不同场景的固定信息。已配置多个配置项的情况下,您可在命令中以“--cli-profile”指定要操作或使用的配置项的名称。 KooCLI配置项中可修改的参数如下表所示。 表1 配置项参数 参数名 说明 cli-profile 配置项名称。如果修改配置项时不指定此参数,则修改默认配置项。执行“hcloud configure show”命令可查看默认配置项的内容。 cli-mode 认证模式。取值范围: AKSK:分为访问密钥和临时安全凭证。访问密钥即为永久AK/SK,临时安全凭证即为临时AK,SK和SecurityToken。 ecsAgency:当委托给ECS服务器时,在ECS服务器中使用KooCLI调用云服务API时自动获取临时认证信息。 SSO:开通IAM身份中心并完成配置后,允许用户使用特定用户名和密码登录统一的用户门户网站,访问为其分配的多个账号下的资源。认证信息有效期内,无需多次登录。 cli-region 区域。 cli-access-key 访问密钥ID(Access Key ID,简称AK),此参数必须和SK同步修改。 cli-secret-key 秘密访问密钥(Secret Access Key,简称SK),此参数必须和AK同步修改。 cli-security-token 临时安全凭证。在使用临时AK/SK认证身份时,需同时使用此参数。注意过期后需重新配置,否则调用云服务API时无法完成认证。 cli-local-dea 本地加密保存的认证信息及custom参数的加密算法。取值范围: intl(默认值,表示使用国际算法) gm(表示使用国密算法) cli-lang KooCLI的语言。取值范围: cn(中文) en(英文) cli-offline 是否使用KooCLI的离线模式。取值范围: true(表示使用离线模式) false(默认值,表示使用在线模式) cli-project-id 项目ID。 cli-domain-id IAM用户所属账号ID,以AKSK模式调用全局服务的API时需要。 cli-custom 是否操作custom参数。取值范围: true(表示要操作配置项中的custom参数) false(默认值,表示要操作配置项中的系统参数) cli-read-timeout I/O超时时间(秒)。默认取值为10秒,参数最小取值为1秒。 cli-connect-timeout 请求连接超时时间(秒)。默认取值为5秒,参数最小取值为1秒。 cli-retry-count 请求连接重试次数。默认取值为0次,可配置的取值范围为0~5次。 cli-skip-secure-verify 是否跳过https请求证书验证(不建议)。取值范围: true(表示要跳过https请求证书验证,出于安全考虑不建议) false(默认值,表示不跳过https请求证书验证) cli-agree-privacy-statement 是否同意隐私。首次使用KooCLI时,KooCLI会通过交互,提示用户阅读并同意隐私声明。对于不方便交互的场景,如以自动化脚本执行命令,可通过此参数配置同意隐私声明。取值范围: true(表示同意隐私声明) false(默认值,表示不同意隐私声明) cli-warning 是否提示命令执行过程中的Warning信息。以自动化脚本执行命令时,关闭Warning提示信息,可以避免干扰解析命令执行的输出结果。取值范围: true(默认值,表示提示Warning信息) false(表示不提示Warning信息) cli-auth-encrypt 配置文件中的认证信息是否加密存储。取值范围: true(默认值,表示加密存储配置文件中的认证信息) false(表示不加密存储配置文件中的认证信息) cli-sso-start-url 用户门户URL,开通IAM身份中心后生成。 cli-sso-region 开通IAM身份中心实例所在的区域。 cli-sso-account-name 账号名。 cli-sso-permission-set-name 权限集名称。 参数“--cli-custom”的取值可标识向配置项中设置的参数类型:当“--cli-custom=false”时,设置其中的系统参数;当“--cli-custom=true”时,设置其中的custom(即用户自定义)参数。 设置配置项中的系统参数时,若该配置项不存在则新增配置项,否则修改该配置项。 不支持向不存在的配置项中设置custom参数;不支持在同一命令中同时设置系统参数和custom参数。 向配置项中设置系统参数或custom参数,都会使该配置项成为默认配置项。 新增或修改配置项的命令为: hcloud configure set --param1=paramValue1 --param2=paramValue2 ... 父主题: 新增或修改配置项
  • 查询配置项列表中的系统参数 KooCLI支持多配置项,查询配置项列表中的系统参数的命令如下,查询结果支持以table,json或tsv格式输出,默认以json格式输出: hcloud configure list hcloud configure list{ "localDea": "intl", "language": "cn", "offline": "false", "agreePrivacy": "true", "warning": "true", "current": "test", "profiles": [ { "name": "default", "mode": "AKSK", "accessKeyId": "********", "secretAccessKey": "****", "securityToken": "", "region": "cn-north-4", "projectId": "060576****************134588f135", "domainId": "", "skipSecureVerify": "false", "readTimeout": 10, "connectTimeout": 5, "retryCount": 0 }, { "name": "test", "mode": "AKSK", "accessKeyId": "********", "secretAccessKey": "****", "securityToken": "", "region": "cn-north-4", "projectId": "", "domainId": "", "skipSecureVerify": "false", "readTimeout": 10, "connectTimeout": 5, "retryCount": 0 } ]} 其中,敏感参数的值会被匿名化展示。 可以使用“--cli-query”对查询结果进行过滤。使用“--cli-query”时,默认以json格式输出,可同时使用“--cli-output”指定输出格式。例如以json格式输出,筛选每个配置项中的AK/SK: hcloud configure list --cli-output=json --cli-query="profiles[].{Name:name,AK:accessKeyId,SK:secretAccessKey}"[ { "AK": "********", "Name": "default", "SK": "****" }, { "AK": "********", "Name": "test", "SK": "****" }] 如需以table格式输出查询结果,命令中需要指定“--cli-output=table”,如下: hcloud configure list --cli-output=table --cli-query="profiles[].[name,accessKeyId,secretAccessKey,projectId]" 如需以tsv格式输出查询结果,命令中需要指定“--cli-output=tsv”,如下: hcloud configure list --cli-output=tsv --cli-query="profiles[0].[name,accessKeyId,secretAccessKey,projectId]" 父主题: 查询配置项列表
  • 指定用户所属账号ID KooCLI以AKSK模式调用全局服务的API时,需添加账号ID(即cli-domain-id)。KooCLI会在调用全局服务的API的过程中,根据用户认证信息自动获取账号ID,用户也可在命令中添加“--cli-domain-id”选项,如下: hcloud CDN ListDomains --cli-region="cn-north-1" --cli-domain-id="08e09a6e******************1bb800"{ "total": 0, "domains": null} 父主题: 选项说明
  • 元数据管理 清理元数据缓存 KooCLI会缓存API调用过程中获取并保存在用户本地的元数据缓存文件,放置在如下目录下: 在线模式: Windows系统: C:\Users\{您的Windows系统用户名}\.hcloud\metaRepo\ Linux系统: /home/{当前用户名}/.hcloud/metaRepo/ Mac系统: /Users/{当前用户名}/.hcloud/metaRepo/ 离线模式: Windows系统: C:\Users\{您的Windows系统用户名}\.hcloud\metaOrigin\ Linux系统: /home/{当前用户名}/.hcloud/metaOrigin/ Mac系统: /Users/{当前用户名}/.hcloud/metaOrigin/ 清理元数据缓存文件的命令为: 在线模式: hcloud meta clear hcloud meta clear缓存清理成功 离线模式: 执行命令“hcloud meta clear”,会清理从已下载的离线元数据包中解析出来的元数据缓存文件,离线元数据包仍然保留。之后调用API时,会重新从该离线元数据包中解析并写入新元数据缓存文件。若需完全清理离线元数据包及元数据缓存文件,用户需根据系统,删除该文件所在目录。 下载离线元数据包 离线元数据包下载后,将被保存在上述离线模式的目录下。下载离线元数据包的命令为: hcloud meta download hcloud meta download下载成功 父主题: 常用命令
  • 生成JSON格式API入参骨架 skeleton选项用于生成JSON格式API入参骨架。在命令中添加“--skeleton”选项,则在当前目录生成该API的JSON格式的入参文件,用户可填写文件中的参数值,以“--cli-jsonInput=${JSON文件名}”传入参数,调用API: hcloud RDS CreateConfiguration --cli-region="cn-north-4" --skeleton已生成JSON格式API入参骨架,文件存放位置:C:\cli\RDS_CreateConfiguration_cn-20231108093800.json 该JSON文件的内容如下: {"header": {"X-Language": ""},"path": {"project_id": ""},"body": {"datastore": {"type": "","version": ""},"description": "","name": "","values": {"": ""}}}--------------------------------- 骨架填写完成后,请删除此行及下列参数描述信息: ---------------------------------{"header": {"X-Language": {"Required": false,"ParamType": "string","Usage": "语言","EnumValue": ["zh-cn","en-us"]}},"path": {"project_id": {"Required": true,"ParamType": "string","Usage": "项目ID。"}},"body": {"datastore": {"type": {"Required": true,"ParamType": "string","Usage": "数据库引擎,不区分大小写:\n- MySQL\n- PostgreSQL\n- SQLServer\n- MariaDB","EnumValue": ["MySQL","PostgreSQL","SQLServer","MariaDB"]},"version": {"Required": true,"ParamType": "string","Usage": "数据库版本。\n\n- MySQL引擎支持5.6、5.7版本。取值示例:5.7。具有相应权限的用户才可使用8.0,您可联系华为云客服人员申请。\n- PostgreSQL引擎支持9.5、9.6、10、11版本。取值示例:9.6。\n- Microsoft SQL Server:仅支持2017 企业版、2017 标准版、2017 web版、2014 标准版、2014 企业版、2016 标准版、2016 企业版、2012 企业版、2012 标准版、2012 web版、2008 R2 企业版、2008 R2 web版、2014 web版、2016 web版。取值示例2014_SE。 例如:2017标准版可填写2017_SE,2017企业版可填写2017_EE,2017web版可以填写2017_WEB"}},"description": {"Required": false,"ParamType": "string","Usage": "参数模板描述。最长256个字符,不支持\u003e!\u003c\"\u0026'=特殊字符。默认为空。"},"name": {"Required": true,"ParamType": "string","Usage": "参数模板名称。最长64个字符,只允许大写字母、小写字母、数字、和“-_.”特殊字符。"},"values": {"": {"Required": false,"ParamType": "string","Usage": "参数值对象,用户基于默认参数模板自定义的参数值。为空时不修改参数值。\n\n- key:参数名称,\"max_connections\":\"10\"。为空时不修改参数值,key不为空时value也不可为空。\n- value:参数值,\"max_connections\":\"10\"。"}}}} 生成的JSON文件分为上下两部分,上半部分为cli-jsonInput需要的API参数骨架,下半部分为各参数的描述信息及其取值规范。中间以分割线分割。用户可参考参数的描述信息,在上半部分的骨架中填写参数值。 JSON文件填写完成后,需删除分割线及下半部分的内容。对于未填写取值的参数,使用时也需要删除该参数。 以上述文件为例,参数填写完成后,JSON文件的内容为: {"path": {"project_id": "0dd8cb****************19b5a84546"},"body": {"datastore": {"type": "MySQL","version": "5.7"},"description": "test create configuration","name": "test-001","values": {"max_connections": "10"}}} 将该文件传入命令中,以--cli-jsonInput方式调用API: hcloud RDS CreateConfiguration --cli-region="cn-north-4" --cli-jsonInput="RDS_CreateConfiguration_cn-20231108093800.json" --dryruncli-jsonInput中各位置(如path、query、body、formData、header、cookie)传入的API参数优先于命令传入--------------------------------- dry-run模式跳过实际运行,当前请求为: ---------------------------------POST https://rds.cn-north-4.myhuaweicloud.com/v3/0dd8cb****************19b5a84546/configurationsContent-Type: application/jsonX-Project-Id: 0dd8cb****************19b5a84546X-Sdk-Date: 20220621T103331ZAuthorization: ****{ "datastore": { "type": "MySQL", "version": "5.7" }, "description": "test create configuration", "name": "test-001", "values": { "max_connections": "10" }} 父主题: 选项说明
  • 删除指定配置项及其custom参数 使用“--cli-profile”指定要删除的配置项的名称。删除指定配置项的命令为: hcloud configure delete --cli-profile=${profileName} hcloud configure delete --cli-profile=test删除配置项test成功,默认配置项为default 删除配置项时,会同时删除其中的系统参数和custom参数。 父主题: 删除指定配置项
  • SSO登录 KooCLI的SSO登录命令通过完成SSO登录,将用户的认证信息存储在配置文件中,避免执行操作时频繁输入这些固定信息。可通过如下命令进行SSO登录: hcloud configure sso 输入以上命令并回车后,会逐步提示您输入SSO profile name(此SSO登录后要保存的配置项名称,必填)、SSO start URL(用户门户URL,必填)、SSO region(开通IAM身份中心所在的区域,必填)、Region(默认或常用区域,非必填)。 hcloud configure sso? Input SSO profile name [required]: sso? Input SSO start URL [required]: https://idcenter.huaweicloud.com/d-3********6/portal? Input SSO region [required]: cn-north-4? Input Region: cn-north-4已打开浏览器页面,等待您完成SSO登录...? Choose account name: ACCOUNT_01? Choose permission set name: PERMISSION_01SSO登录成功 在Linux等无浏览器的环境,无法自动跳转SSO登录页面,需要用户在浏览器打开打印的URL链接完成登录。 在网页完成登录后,选择account name和permission set name时,请使用键盘上下箭头移动,可键入筛选列表内容,按Enter键即可选中当前内容。 SSO登录完成后,仅支持调用此列表中服务的API。 登录完成后,可使用命令查看登录后保存的认证信息及其过期时间: hcloud configure show --cli-profile=${profileName} hcloud configure show --cli-profile=sso{ "name": "sso", "mode": "SSO", "accessKeyId": "", "secretAccessKey": "", "securityToken": "", "region": "cn-north-4", "projectId": "", "domainId": "", "skipSecureVerify": "false", "readTimeout": 10, "connectTimeout": 5, "retryCount": 0, "ssoParam": { "startUrl": "https://idcenter.huaweicloud.com/d-3********6/portal", "ssoRegion": "cn-north-4" }, "ssoAuth": { "accessTokenResult": { "accessToken": "****", "expiresAt": "2024-05-08 00:52:50" }, "accountId": "0cb8************************c3a0", "agencyUrn": "iam::0cb8************************c3a0:agency:Sys**********_*******_dc************e8" }} 父主题: 配置信息管理
  • 指定请求超时时间 cli-connect-timeout,cli-read-timeout 选项用于设置请求超时时间。其中请求连接超时时间“--cli-connect-timeout”默认值为5秒,I/O超时时间“--cli-read-timeout”默认值为10秒: hcloud ECS DeleteServerPassword --cli-region="cn-north-4" --project_id="2cc60f5****************efa5019ef" --server_id="e6b99563-****-****-****-1820d4fd2a67" --cli-connect-timeout=10 --cli-read-timeout=15 命令中可同时使用“--cli-connect-timeout”和“--cli-read-timeout”选项,也可只使用其一。 父主题: 选项说明
  • 以无配置方式AKSK调用云服务API KooCLI支持在命令中添加“--cli-access-key”,“--cli-secret-key”和“--cli-security-token”选项,以无配置方式AKSK调用云服务API。 当命令中仅使用“--cli-access-key”和“--cli-secret-key”时,默认识别该AK,SK为永久AK/SK: hcloud RDS ListApiVersion --cli-region="cn-north-4" --cli-access-key=******** --cli-secret-key=********{ "versions": [ { "id": "v3", "links": [], "status": "CURRENT", "updated": "2019-01-15T12:00:00Z" }, { "id": "v1", "links": [], "status": "DEPRECATED", "updated": "2017-02-07T17:34:02Z" } ]} 当命令中同时使用“--cli-access-key”,“--cli-secret-key”和“--cli-security-token”时,默认识别该AK,SK为临时AK/SK: hcloud RDS ListApiVersion --cli-region="cn-north-4" --cli-access-key=******** --cli-secret-key=******** --cli-security-token=********{ "versions": [ { "id": "v3", "links": [], "status": "CURRENT", "updated": "2019-01-15T12:00:00Z" }, { "id": "v1", "links": [], "status": "DEPRECATED", "updated": "2017-02-07T17:34:02Z" } ]} 父主题: 选项说明
  • 检查命令正确性 dryrun选项用于检查所传入命令的正确性。在命令中添加“--dryrun”选项,执行校验后打印请求报文,跳过实际运行,不调用目标API: hcloud RDS CreateConfiguration --cli-region="cn-north-4" --project_id="0dd8cb****************19b5a84546" --datastore.type="MySQL" --datastore.version="5.7" --values.max_connections="10" --name="test-001" --description="test create configuration" --dryrun--------------------------------- dry-run模式跳过实际运行,当前请求为: ---------------------------------POST https://rds.cn-north-4.myhuaweicloud.com/v3/0dd8cb****************19b5a84546/configurationsContent-Type: application/jsonX-Project-Id: 0dd8cb****************19b5a84546X-Sdk-Date: 20220621T103331ZAuthorization: ****{ "datastore": { "type": "MySQL", "version": "5.7" }, "description": "test create configuration", "name": "test-001", "values": { "max_connections": "10" }} 父主题: 选项说明
  • 初始化配置 KooCLI初始化命令用于将常用的永久AK/SK和区域信息存储在配置文件中,避免执行操作时频繁输入这些固定信息。可通过如下命令初始化配置: hcloud configure init 输入以上命令并按回车后,会逐步提示您输入Access Key ID(必填)、Secret Access Key(必填)、默认或常用的Region(非必填)。 hcloud configure init开始初始化配置,其中"Secret Access Key"输入内容匿名化处理,获取参数可参考'https://support.huaweicloud.com/usermanual-hcli/hcli_09.html'Access Key ID [required]: ********Secret Access Key [required]: ****Secret Access Key (again): ****Region: cn-north-4************************************************************* ********** 初始化配置成功 ********** ************************************************************* 父主题: 配置信息管理
  • 无配置方式AKSK 访问密钥(永久AK/SK) 用户可以在命令中直接输入永久AK(cli-access-key)和SK(cli-secret-key)调用云服务API: hcloud ECS NovaListServers --cli-region="cn-north-4" --project_id="4ff018c3******************f31948" --cli-access-key=******** --cli-secret-key=******** 临时安全凭证(临时AK/SK和SecurityToken) 用户可以在命令中直接输入临时AK(cli-access-key),SK(cli-secret-key)和SecurityToken(cli-security-token)调用云服务API: hcloud ECS NovaListServers --cli-region="cn-north-4" --project_id="4ff018c3******************f31948" --cli-access-key=******** --cli-secret-key=******** --cli-security-token=******** 父主题: 无配置方式使用KooCLI
  • 输出格式 使用“--cli-output”指定输出格式,“--cli-output”的取值可以为json,table,tsv其中之一。 当“--cli-output”的取值为json时: 将以json格式输出结果,如下: hcloud configure list --cli-output=json --cli-query="profiles[].{Name:name,Mode:mode,Ak:accessKeyId,SK:secretAccessKey}"[ { "Ak": "8NV****IOV", "Mode": "AKSK", "Name": "test", "SK": "****" }, { "Ak": "H9N****MXW", "Mode": "AKSK", "Name": "default", "SK": "****" }] 当“--cli-output”的取值为table时: 将以table格式输出结果,如下: 当指定“--cli-output”的取值为table,可以同时使用“--cli-output-num”指定是否打印行号: 当“--cli-output”的取值为tsv时: 将以tsv格式输出结果,如下: tsv输出格式返回制表符和换行分隔的数据值,不包含额外的符号,方便将输出结果用于其他命令。因tsv的输出结果中不包含数据表头,故用户在使用时需把握不同类型的JMESPath表达式输出数据的顺序,防止数据用于其他命令时出现混乱,详情请参考不同类型JMESPath表达式的数据输出顺序。 使用tsv格式输出,若jMESPath表达式中指定了多个属性名,且未对属性名重命名,则当其中某个或多个属性名被单独用“[]”括起来时,该属性将在输出时被换行至新的一行输出,如下: 在上图的示例中,指定输出属性为:name,mode,accessKeyId,secretAccessKey。且其中的name被指定以新的一行输出。按照属性被指定时的顺序,第一行输出的分别为mode,accessKeyId,secretAccessKey的值,第二行输出的是name值。
  • 选项概述 KooCLI选项是指可以直接在调用API的命令中添加的系统参数,KooCLI支持的选项及其功能如下表所示。其中除“help”,“debug”,“dryrun”,“cli-output”,“cli-query”,“cli-output-num”,“cli-jsonInput”,“cli-endpoint”之外,其余选项支持被设置到配置项中。执行命令时,命令中的参数值优先于配置项中该参数值。 表1 KooCLI 选项列表 命令选项 说明 使用示例 help 选项 打印帮助信息 hcloud RDS ListCollations --cli-region="cn-north-1" --help debug 选项 打印命令调用过程中的调试信息。如API调用过程中的执行步骤,完整的请求URL等。 hcloud VPC ShowVpc/v3 --cli-region="cn-north-4" --project_id="0dd8cb****************19b5a84546" --vpc_id="0bbe****-****-****-****-****235be6e7" --debug dryrun 选项 检查命令正确性。执行校验后打印请求报文,跳过实际运行,不调用目标API。 hcloud RDS CreateConfiguration --cli-region="cn-north-4" --project_id="4ff018c******************df31948" --datastore.type="MySQL" --datastore.version="5.7" --values.max_connections="10" --name="test-001" --description="test create configuration" --dryrun skeleton 选项 生成JSON格式API入参骨架,便于使用--cli-jsonInput的方式传入API参数 hcloud RDS CreateConfiguration --cli-region="cn-north-4" --skeleton cli-region 选项 区域,表示在指定的区域中管理云服务资源。 hcloud EVS DeleteVolume --cli-region="cn-north-4" --volume_id="aed9****-****-****-****-****0e3219cf" --project_id="0dd8cb****************19b5a84546" cli-access-key,cli-secret-key,cli-security-token 选项 cli-access-key:访问密钥ID(Access Key ID,简称AK),此参数必须和SK同时使用。 cli-secret-key:秘密访问密钥(Secret Access Key,简称SK),此参数必须和AK同时使用。 cli-security-token:临时安全凭证。在使用临时AK/SK认证身份时,需同时使用此参数。 可用于以无配置方式AKSK调用云服务API。 以无配置方式AKSK调用云服务API: 使用访问密钥(永久AK/SK): hcloud RDS ListApiVersion --cli-region="cn-north-4" --cli-access-key=******** --cli-secret-key=******** 使用临时安全凭证(临时AK/SK和SecurityToken): hcloud RDS ListApiVersion --cli-region="cn-north-4" --cli-access-key=******** --cli-secret-key=******** --cli-security-token=******** cli-domain-id 选项 IAM用户所属账号ID。以AKSK认证模式调用全局服务的API时需要。一般情况下,调用全局服务的API时,KooCLI会根据用户的认证信息自动获取此参数的值。 hcloud CDN ListDomains --cli-region="cn-north-1" --cli-domain-id="08e09a6e******************1bb800" cli-profile 选项 KooCLI配置项名称,配置项用于存储一组调用云服务API时所需的公共信息,例如AK/SK,区域,项目ID等。 hcloud EVS ListSnapshots --cli-profile=test cli-mode 选项 指定配置项的认证模式,取值为: AKSK ecsAgency SSO 指定cli-mode为AKSK模式: hcloud CCE ListNodes --cluster_id="f288****-****-****-****-****ac101534" --project_id="0dd8cb****************19b5a84546" --cli-profile=test --cli-mode=AKSK 指定cli-mode为ecsAgency模式: hcloud CCE ListNodes --cluster_id="f288****-****-****-****-****ac101534" --project_id="0dd8cb****************19b5a84546" --cli-profile=test --cli-mode=ecsAgency cli-output,cli-query,cli-output-num 选项 用于指定结果的输出格式。 cli-output 响应数据的输出格式,取值可以为如下其一: json table tsv cli-query 筛选响应数据的JMESPath路径 cli-output-num table输出时,是否打印行号。取值为:true或者false 当cli-output的取值为json时: 调用云服务API: hcloud CCE ListClusters --cli-region="cn-north-4" --type="VirtualMachine" --project_id="0dd8cb****************19b5a84546" --cli-query="items[0]" 调用CLI系统命令: hcloud configure list --cli-output=json --cli-query="profiles[].{Name:name,Mode:mode,Ak:accessKeyId,SK:secretAccessKey}" 当cli-output的取值为table时: hcloud configure list --cli-output=table --cli-query="profiles[].{Name:name,Mode:mode,Ak:accessKeyId,SK:secretAccessKey}" 当cli-output的取值为tsv时: hcloud configure list --cli-output=tsv --cli-query="profiles[].{Name:name,Mode:mode,Ak:accessKeyId,SK:secretAccessKey}" cli-jsonInput 选项 指定JSON文件的方式传递API参数。当云服务API的参数过多时,可将参数定义在一个JSON文件中,KooCLI会解析该文件中的参数内容。 hcloud ECS CreateServers --cli-region="cn-north-4" --cli-read-timeout=60 --cli-jsonInput=C:\cli\Ecs_CreateServers.json cli-connect-timeout,cli-read-timeout 选项 请求超时时间。 cli-connect-timeout:请求连接超时时间(秒)。默认值5秒,参数最小取值为1秒; cli-read-timeout:I/O超时时间(秒)。默认值10秒,参数最小取值为1秒; hcloud ECS DeleteServerPassword --cli-region="cn-north-4" --project_id="2cc60f5****************efa5019ef" --server_id="e6b99563-****-****-****-1820d4fd2a67" --cli-connect-timeout=10 --cli-read-timeout=15 cli-retry-count 选项 请求连接重试次数。即:若请求连接超时,会自动重试。默认取值为0次,取值范围为0~5次。 hcloud RDS ListInstances --cli-region="cn-north-4" --Content-Type="application/json" --project_id="2cc60****************caefa5019ef" --cli-retry-count=3 cli-skip-secure-verify 选项 跳过https请求证书验证(不建议)。取值为true或false,默认为false。因跳过证书验证时存在安全风险,故当其取值为true时,KooCLI会向用户交互确认。 hcloud ECS NovaListServers --cli-region="cn-north-4" --project_id="2cc6****************6caefa5019ef" --cli-skip-secure-verify=true cli-endpoint 选项 自定义请求 域名 。 默认会请求对应区域的目标云服务,您也可以针对该云服务指定Endpoint。 hcloud IoTDA UpdateDevice --cli-region="cn-north-4" --description="test update device" --device_id="testz*********************0802" --cli-endpoint="iot-mqtts.cn-north-4.myhuaweicloud.com" cli-waiter 选项 结果轮询,参数应为JSON格式且使用双引号包裹。 hcloud ECS NovaShowServer --cli-region="cn-north-4" --server_id="e6b99563-xxxx-xxxx-xxxx-1820d4fd2a6" --cli-waiter="{\"expr\":\"server.status\",\"to\":\"ACTIVE\",\"timeout\":300}" 父主题: 选项说明
  • 获取账号ID、项目ID 在调用云服务API的时候,大多数场景需要填入项目ID。项目ID获取步骤如下: 注册并登录管理控制台。 单击右上角用户名,在下拉列表中单击“我的凭证”,查看“账号ID(cli-domain-id)”、“项目ID(cli-project-id)”,如下图。 项目用于对云服务器资源进行物理隔离,默认有区域级别的隔离,也可在区域下建立多项目,做更细级别的隔离。因此,请参考下图,在项目列表中找到您的服务器资源对应的所属区域,在其左侧获取对应区域的项目ID,单击其左侧的图标可获取对应区域下的子项目ID。 图1 账号ID、项目ID KooCLI可在API调用过程中, 根据当前用户认证信息自行获取请求头中需要的账号ID、项目ID,因此命令中可不输入该参数。 父主题: 获取认证信息
  • 解决证书x509问题 KooCLI管理和使用云服务的资源,用户在配置了HTTP代理的情况下,可能会出现调用云服务API时报错 x509 的问题。其原因是您公司代理修改了https网站颁发的根证书,导致访问外网的https资源时报证书无效的错误。 您可以通过在命令中添加“--cli-skip-secure-verify=true”跳过证书校验(不建议)。推荐的做法是:将您公司颁发的证书导入到操作系统的可信任CA证书下。 父主题: 使用HTTP代理
  • 结果轮询 cli-waiter用于结果轮询,参数应为JSON格式且使用双引号包裹。您可以使用此参数进行结果轮询: hcloud ECS NovaShowServer --cli-region="cn-north-4" --server_id="e6b99563-xxxx-xxxx-xxxx-1820d4fd2a6" --cli-query="server.status" --cli-waiter="{\"expr\":\"server.status\",\"to\":\"ACTIVE\",\"timeout\":300}"结果轮询结束,server.status的值达到期待结果ACTIVEACTIVE cli-waiter的取值中,每个字段的含义如下: - expr required string 使用JMESPath表达式指定被轮询字段 - to required string 被轮询字段的目标值 - timeout optional int 轮询的超时时间(秒),min=1,max=600,默认值180 - interval optional int 轮询的间隔时间(秒),min=2,max=10,默认值5 需要注意的是,因为使用“--cli-waiter”可能会导致调用接口幂等性的问题,有重复调用的风险,请您谨慎使用。建议查询类接口使用此参数。 父主题: 选项说明
  • 指定请求连接重试次数 cli-retry-count选项用于指定请求连接重试次数。即:在请求超时(因网络连接问题导致请求失败)的情况下会自动重试。“--cli-retry-count”的默认取值为0次,参数取值范围为0~5次: 若因网络连接问题导致请求失败,KooCLI会提示如下信息: hcloud RDS ListInstances --cli-region="cn-north-4" --Content-Type="application/json" --project_id="2cc60****************caefa5019ef" --cli-retry-count=3[NETWORK_ERROR]连接超时4次(重试3次)请检查网络连通性 若网络连接正常,则可成功返回: hcloud RDS ListInstances --cli-region="cn-north-4" --Content-Type="application/json" --project_id="2cc60****************caefa5019ef" --cli-retry-count=3{ "instances": [], "total_count": 0} 需要注意的是,因为使用“--cli-retry-count”设置重试次数可能会导致调用接口幂等性的问题,有重复调用的风险。对于创建类的接口,请您谨慎使用。 父主题: 选项说明
  • 模板管理 KooCLI提供由多条KooCLI命令组合而成的shell脚本模板,方便用户理清业务逻辑,完成复杂场景下的操作。用户可根据实际需要下载相应的模板,修改后执行即可。 可使用如下命令,进行模板的查看和下载操作。 查询已有模板列表: hcloud template list hcloud template list{ "count": 6, "templates": [ { "description": "基于华为云CLI,以shell脚本模板形式集成CLI调用命令,对弹性云服务器进行管理,覆盖从弹性云服务器的创建(购买)到变更规格、再到删除的整个生命周期。", "detail_url": "https://codelabs.developer.huaweicloud.com/codelabs/samples/a6ff22ee******************18fb15", "id": "a6ff22ee******************18fb15", "title": "使用CLI便捷管理弹性 云服务器ECS " }, ... { "description": "基于华为云CLI,以shell脚本模板形式集成CLI调用命令,对弹性负载均衡ELB进行管理和配置。", "detail_url": "https://codelabs.developer.huaweicloud.com/codelabs/samples/e2fb0a65******************0a891b", "id": "e2fb0a65******************0a891b", "title": "使用CLI便捷管理弹性负载均衡ELB" } ]} 用户可根据查询结果中的模板的“description”了解模板的用途;单击其“detail_url”链接,可跳转至 Codelabs 页面查看模板详情;“id”是模板的唯一标识,用户可根据id值下载对应的模板至本地。 当前KooCLI模板示例持续开发中,敬请期待。 下载指定模板: hcloud template download --template-id=${templateId} --download-path=${downloadPath} 执行如上命令,可将指定模板下载至指定目录下。若未指定“--download-path”,模板将被默认下载至当前目录下。下载的模板默认名称为其“title”值-时间戳.zip。解压后请根据需要修改和完善该模板的内容,执行即可。 父主题: 常用命令
  • 指定配置项的认证模式 KooCLI的配置项的认证模式取值为AKSK、ecsAgency,推荐使用AKSK。当使用的配置项同时配置了多种认证模式相关的参数,用户可使用“--cli-mode”选项来指定配置项的认证模式: hcloud CCE ListNodes --cluster_id="f288****-****-****-****-****ac101534" --project_id="0dd8cb****************19b5a84546" --cli-profile=test --cli-mode=AKSK 设置配置项时,需要以“--cli-profile”指定配置项的名称,同时还需根据认证模式“--cli-mode”添加相应的认证参数: 若配置项的认证模式为“AKSK”,则配置时命令中“--cli-access-key”和“--cli-secret-key”的值不能为空; 若配置项的认证模式为“ecsAgency”,则配置时命令中需指定“--cli-mode=ecsAgency”; 父主题: 选项说明
  • 查询配置项列表中的custom参数 查询KooCLI配置项列表中的custom参数的命令如下,查询结果支持以table,json或tsv格式输出,默认以json格式输出: hcloud configure list --cli-custom=true hcloud configure list --cli-custom=true{ "current": "test", "profiles": [ { "name": "default", "custom": {} }, { "name": "test", "custom": { "password": { "value": "****", "isEncrypted": true }, "projectId": { "value": "06810000000000000000000000f89d2e", "isEncrypted": false } } } ]} 其中,加密保存的custom参数值会被匿名化展示。 可以使用“--cli-query”对查询结果进行过滤,使用“--cli-query”时,默认以json格式输出,可同时使用“--cli-output”指定输出格式。例如以json格式输出,查询名称为test的配置项的所有custom参数: hcloud configure list --cli-custom=true --cli-query="profiles[?name=='test'].custom" --cli-output=json[ { "password": { "isEncrypted": true, "value": "****" }, "projectId": { "isEncrypted": false, "value": "06810000000000000000000000f89d2e" } }] 父主题: 查询配置项列表
  • 查询指定配置项中的系统参数 使用“--cli-profile”指定要查询的配置项的名称,缺省时查询默认配置项。支持以table,json或tsv格式输出,默认以json格式输出。查看指定配置项中的系统参数的命令为: hcloud configure show [--cli-profile=${profileName}] hcloud configure show --cli-profile=test{ "name": "test", "mode": "AKSK", "accessKeyId": "********", "secretAccessKey": "****", "securityToken": "", "region": "cn-north-4", "projectId": "", "domainId": "", "skipSecureVerify": "false", "readTimeout": 10, "connectTimeout": 5, "retryCount": 0} 父主题: 查询指定配置项
  • API Explorer 上获取CLI示例 API Explorer上开放的各云服务API,除了支持在线调试,还能生成KooCLI命令示例(以下简称CLI示例)。您在API Explorer界面上填写API参数,在其对应的“CLI示例”中可直接拷贝使用。 下图为API Explorer上CDN服务的创建加速域名API。在API Explorer页面填写完成各项请求参数后,CLI示例会及时刷新命令内容。您可以将填写好请求参数的CLI示例保存,后续在KooCLI中直接调用,或集成到脚本中调用。 图1 在API Explorer上获取CLI示例 在API Explorer界面上,已填写值的参数,才会体现在CLI示例中。 CLI示例会携带项目ID,区域等信息,如果您在其他项目或区域中使用,请注意替换成对应的项目ID与区域。
  • 指定区域 KooCLI除了可以从配置项读取区域信息外,还可以在命令中传入cli-region值,如下: hcloud EVS DeleteVolume --cli-region="cn-north-4" --volume_id="aed9****-****-****-****-****0e3219cf" --project_id="0dd8cb****************19b5a84546"{ "job_id": "70a5****-****-****-****-****441e862b"} 不同区域,项目也不同,因此指定区域时,一般需要同时指定项目ID。 父主题: 选项说明
  • 在线体验KooCLI 在线体验功能内嵌于API Explorer页面中,您可以在除IE之外的任意浏览器上在线体验KooCLI,如下图所示,鼠标左键单击“CLI示例”方框中的图标按钮即可启动。 图1 在API Explorer上启动在线体验功能 启动时会自动为您分配一个Linux系统的容器(以下称之为实例)供您使用,该实例上已预装最新版的KooCLI。在线体验功能具有以下优点: 实例启动后默认将当前CLI示例内容复制到实例窗口并执行。 图2 实例启动后默认复制当前CLI示例内容到实例窗口 实例启动时,默认将已登录账号的认证信息配置到名为“default”的配置项中,实现自动授权。用户无需额外配置即可使用KooCLI管理云资源,方便快捷。 每个实例可使用时长为60分钟,60分钟后,实例将会被删除,并且数据也会被删除;在无操作情况下,实例15分钟后会被自动释放。 在线体验KooCLI时,会对所有登录用户进行安全认证,并实现实例按用户隔离,保证运行环境的安全。 命令执行时,会使用已登录账号的认证信息执行请求,部分接口调用涉及云产品计费,请谨慎操作。如需使用其它AK/SK认证,请您使用“hcloud configure set --cli-profile=${profileName} --cli-access-key=${accessKeyID} --cli-secret-key=${secretAccessKey}”命令,将您的AK/SK添加到新的配置项中。 在使用的过程中,请您尽量不要执行“hcloud configure init”命令,或通过“hcloud configure set”命令操作名称为“default”的配置项(即--cli-profile=default),避免该配置项被修改,破坏自动授权。 父主题: 在线体验
  • 跳过https请求证书验证 cli-skip-secure-verify选项用于指定是否跳过https请求证书验证(不建议)。当用户已配置HTTP代理,KooCLI调用云服务的API时,可能会因证书校验失败,导致请求报错x509。用户可在命令中添加“--cli-skip-secure-verify=true”后执行原命令,在执行时会向用户交互以确认是否跳过https请求证书验证: hcloud ECS NovaListServers --cli-region="cn-north-4" --project_id="2cc6****************6caefa5019ef" --cli-skip-secure-verify=true使用`--cli-skip-secure-verify=true`跳过https请求证书验证会导致您的隐私数据暴露在公网,有被外部窃取的风险,请确认是否跳过(y/N): y{ "servers": []} 需要注意的是,因为使用“--cli-skip-secure-verify=true”跳过https请求证书验证会导致您的隐私数据暴露在公网,有被外部窃取的风险,不建议您这样使用。推荐的做法是将您公司颁发的证书导入到操作系统的可信任CA证书下。 父主题: 选项说明
  • 查询指定配置项中的custom参数 使用“--cli-profile”指定要查询的配置项的名称,支持以table,json或tsv格式输出,默认为json格式。查看指定配置项中的custom参数的命令为: hcloud configure show [--cli-profile=${profileName}] --cli-custom=true hcloud configure show --cli-profile=test --cli-custom=true{ "password": { "value": "****", "isEncrypted": true }, "projectId": { "value": "06810000000000000000000000f89d2e", "isEncrypted": false }} 父主题: 查询指定配置项
共99354条