如何指定云服务的API和版本号?
问题背景
KooCLI调用云服务API的过程中,会对您输入参数的合法性进行校验。若您当前调用的云服务是多版本服务,即意味着该服务中的部分或全部API有多个版本。因同一API不同版本的参数、使用场景等可能存在差异,故须获取多版本服务API的版本信息。
云服务API的版本查询与指定
- 版本查询
您可以通过“hcloud <service> --help”命令,查看该云服务的operation列表。若在查询结果的“Available Operations”中某operation出现多次,且以“/”拼接了不同的版本号,则调用该API时需要指定其版本信息,方法请参考版本指定。其余在该云服务operation列表中只出现了一次的operation不必拼接版本号,KooCLI默认调用其唯一版本。
- 版本指定
- 手动添加版本信息
当调用多版本服务的API时,您可以手动在原API的operation后以“/”拼接版本信息。例如:若原命令中operation为“showLogs”,“Available Operations”列表中存在“showLogs/v1”和“showLogs/v2”,您可根据需要将原命令中的operation修改为“showLogs/v1”或“showLogs/v2”。
- 使用默认版本信息
当调用多版本服务的API时,若您未在命令中指明其版本信息,KooCLI会在运行过程中获取该API可选的所有版本,将其按字母排序,并默认调用其排序后的最后一个版本(一般认为该版本即是该API的最新版本)。
- 手动添加版本信息
扩展问题及其解决方案
- 扩展问题
当您使用默认版本信息的方式调用多版本云服务的API时,若您本地缓存的元数据文件被修改,可能会导致KooCLI在执行过程中无法根据缓存文件正确解析到该API的版本信息。在此情形下,会提示如下错误:
[USE_ERROR]服务为多版本,请指定API版本号