生成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" --dryrun cli-jsonInput中各位置(如path、query、body、formData、header、cookie)传入的API参数优先于命令传入 --------------------------------- dry-run模式跳过实际运行,当前请求为: --------------------------------- POST https://rds.cn-north-4.myhuaweicloud.com/v3/0dd8cb****************19b5a84546/configurations Content-Type: application/json X-Project-Id: 0dd8cb****************19b5a84546 X-Sdk-Date: 20220621T103331Z Authorization: **** { "datastore": { "type": "MySQL", "version": "5.7" }, "description": "test create configuration", "name": "test-001", "values": { "max_connections": "10" } }