更新时间:2024-04-22 GMT+08:00

生成JSON格式API入参骨架

skeleton选项用于生成JSON格式API入参骨架。在命令中添加“--skeleton”选项,则在当前目录生成该API的JSON格式的入参文件,用户可填写文件中的参数值,以“--cli-jsonInput=${JSON文件名}”传入参数,调用API:

hcloud RDS CreateConfiguration --cli-region="ap-southeast-1" --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="ap-southeast-1" --cli-jsonInput="RDS_CreateConfiguration_cn-20231108093800.json" --dryrun
cli-jsonInput中各位置(如path、query、body、formData、header、cookie)传入的API参数优先于命令传入
--------------------------------- dry-run模式跳过实际运行,当前请求为: ---------------------------------
POST https://rds.ap-southeast-1.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"
  }
}