
# 生成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个字符,不支持>!<\"&'=特殊字符。默认为空。"
},
"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\"。"
}
}
}
}
```
![](https://support.huaweicloud.com/usermanual-hcli/public_sys-resources/notice_3.0-zh-cn.png)
- 生成的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"
  }
}
```
