更新时间:2023-05-22 GMT+08:00

选项概述

KooCLI选项是指可以直接在调用API的命令中添加的系统参数,KooCLI支持的选项及其功能如下表所示。其中除“help”,“debug”,“dryrun”,“cli-username”,“cli-password”,“cli-domain”,“cli-output”,“cli-query”,“cli-output-num”,“cli-jsonInput”,“cli-endpoint”之外,其余选项支持被设置到配置项中。执行命令时,命令中的参数值优先于配置项中该参数值。

表1 KooCLI 选项列表

命令选项

说明

使用示例

help 选项

打印帮助信息

hcloud RDS ListCollations --cli-region="ap-southeast-1" --help

debug 选项

打印命令调用过程中的调试信息。如API调用过程中的执行步骤,完整的请求URL等。

hcloud VPC ShowVpc/v3 --cli-region="ap-southeast-1" --project_id="0dd8cb****************19b5a84546" --vpc_id="0bbe****-****-****-****-****235be6e7" --debug

dryrun 选项

检查命令正确性。执行校验后打印请求报文,跳过实际运行,不调用目标API。

hcloud RDS CreateConfiguration --cli-region="ap-southeast-1" --project_id="4ff018c******************df31948" --datastore.type="MySQL" --datastore.version="5.7" --values.max_connections="10" --name="test-001" --description="test create configuration" --dryrun

cli-region 选项

区域,表示在指定的区域中管理云服务资源。

hcloud EVS DeleteVolume --cli-region="ap-southeast-1" --volume_id="aed9****-****-****-****-****0e3219cf" --project_id="0dd8cb****************19b5a84546"

cli-username,cli-password,cli-domain 选项

  • cli-username:IAM用户名;
  • cli-password:IAM用户密码;
  • cli-domain:IAM用户所属帐号名。

用于以无配置方式Account调用云服务API。

hcloud EVS UpdateVolume --cli-region="ap-southeast-1" --volume_id="aed9****-****-****-****-****0e3219cf" --project_id="0dd8cb****************19b5a84546" --volume.name="ecs-abcd" --volume.description="volume test" --cli-username=s******1 --cli-password=****** --cli-domain=s******1

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="ap-southeast-1" --cli-access-key=8NVT************KIOV --cli-secret-key=VHMQjoC**************************lsk3cGf
  • 使用临时安全凭证(临时AK/SK和SecurityToken):
    hcloud RDS ListApiVersion --cli-region="ap-southeast-1" --cli-access-key=5FSU************607T --cli-secret-key=VoyjgLh**************************qRc8pSq --cli-security-token=******

cli-x-auth-token 选项

系统颁发给IAM用户的访问令牌。可用于以无配置方式Token调用云服务API。

hcloud ECS ListServersDetails --cli-region="ap-southeast-1" --project_id="2cc60f5****************efa5019ef" --enterprise_project_id="441d5677-****-****-****-ef7fd6336666" --cli-x-auth-token=******

cli-agency-domain-id/cli-agency-domain-name,cli-agency-name,cli-source-profile 选项

  • cli-agency-domain-name:委托方的帐号名称,必须和cli-agency-name同时使用;

    cli-agency-domain-id:委托方的帐号ID,必须和cli-agency-name同时使用;

  • cli-agency-name:委托名称,必须和cli-agency-domain-id或cli-agency-domain-name同时使用;
  • cli-source-profile:保存被委托方认证信息的配置项。取值不能是当前配置项。

可用于以无配置方式agency调用云服务API。

hcloud VPC ListAddressGroup/v3 --cli-region="ap-southeast-1" --project_id="2cc60****************caefa5019ef" --cli-agency-domain-id=13534326******************5cf67b --cli-agency-name=****** --cli-source-profile=test

cli-domain-id 选项

IAM用户所属帐号ID。以AKSK认证模式调用全局服务的API时需要。一般情况下,调用全局服务的API时,KooCLI会根据用户的认证信息自动获取此参数的值。

hcloud CDN ListDomains --cli-region="ap-southeast-1" --cli-domain-id="08e09a6e******************1bb800"

cli-profile 选项

KooCLI配置项名称,配置项用于存储一组调用云服务API时所需的公共信息,例如AK/SK,区域,项目ID等。

hcloud EVS ListSnapshots --cli-profile=test

cli-mode 选项

指定配置项的认证模式,取值为:

  • AKSK
  • token
  • ecsAgency
  • agency

若同一配置项中已配置多种认证模式相关的参数,例如:同时配置了AK/SK和token,使用配置项中cli-mode指定的方式进行认证鉴权。可在命令中使用“--cli-mode”指定配置项的认证模式。

  • 指定cli-mode为AKSK模式:
    hcloud CCE ListNodes --cluster_id="f288****-****-****-****-****ac101534" --project_id="0dd8cb****************19b5a84546" --cli-profile=test --cli-mode=AKSK
  • 指定cli-mode为token模式:
    hcloud CCE ListNodes --cluster_id="f288****-****-****-****-****ac101534" --project_id="0dd8cb****************19b5a84546" --cli-profile=test --cli-mode=token

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="ap-southeast-1" --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="ap-southeast-1" --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="ap-southeast-1" --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="ap-southeast-1" --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="ap-southeast-1" --project_id="2cc6****************6caefa5019ef" --cli-skip-secure-verify=true

cli-endpoint 选项

自定义请求域名。

默认会请求对应区域的目标云服务,您也可以针对该云服务指定Endpoint。

hcloud IoTDA UpdateDevice --cli-region="ap-southeast-1" --description="test update device" --device_id="testz*********************0802" --cli-endpoint="iot-mqtts.ap-southeast-1.myhuaweicloud.com"