新增模板信息
功能介绍
新增源端模板信息。
调用方法
请参见如何调用API。
URI
POST /v3/vm/templates
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
X-Auth-Token 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:16384 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
template |
是 |
TemplateRequest object |
模板信息 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
模板名称 最小长度:0 最大长度:255 |
is_template |
是 |
Boolean |
是否是通用模板,如果模板关联一个任务,则不算通用模板 |
region |
是 |
String |
Region信息 最小长度:0 最大长度:255 |
projectid |
是 |
String |
项目ID 最小长度:0 最大长度:255 |
target_server_name |
否 |
String |
目标端服务器名称 最小长度:0 最大长度:255 |
availability_zone |
否 |
String |
可用区 最小长度:0 最大长度:255 |
volumetype |
否 |
String |
磁盘类型 SAS:串行连接SCSI SSD:固态硬盘 SATA:串口硬盘 枚举值:
|
flavor |
否 |
String |
虚拟机规格 最小长度:0 最大长度:65535 |
vpc |
否 |
VpcObject object |
vpc对象 |
nics |
否 |
Array of Nics objects |
网卡信息,支持多个网卡,如果是自动创建,只填一个,ID使用“autoCreate” 数组长度:0 - 65535 |
security_groups |
否 |
Array of SgObject objects |
安全组,支持多个安全组,如果是自动创建,只填一个,ID使用“autoCreate” 数组长度:0 - 65535 |
publicip |
否 |
PublicIp object |
公网ip |
disk |
否 |
Array of TemplateDisk objects |
磁盘信息 数组长度:0 - 65535 |
data_volume_type |
否 |
String |
数据盘磁盘类型 SAS:串行连接SCSI SSD:固态硬盘 SATA:串口硬盘 枚举值:
|
target_password |
否 |
String |
目的端密码 最小长度:0 最大长度:1024 |
image_id |
否 |
String |
新建目的虚拟机用户选择的镜像版本Id值 最小长度:0 最大长度:255 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
是 |
String |
虚拟私有云ID,如果是自动创建,填“autoCreate” 最小长度:1 最大长度:255 |
name |
是 |
String |
虚拟私有云名称 最小长度:1 最大长度:255 |
cidr |
否 |
String |
VPC的网段,默认192.168.0.0/16 最小长度:1 最大长度:255 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
是 |
String |
子网ID,如果是自动创建,使用"autoCreate" 最小长度:0 最大长度:255 |
name |
是 |
String |
子网名称 最小长度:0 最大长度:255 |
cidr |
是 |
String |
子网网关/掩码 最小长度:0 最大长度:255 |
ip |
否 |
String |
虚拟机IP地址,如果没有这个字段,自动分配IP 最小长度:0 最大长度:255 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
弹性公网IP类型,默认为5_bgp 最小长度:0 最大长度:255 |
bandwidth_size |
是 |
Integer |
带宽大小,单位:Mbit/s。 调整带宽时的最小单位会根据带宽范围不同存在差异。 小于等于300Mbit/s,默认最小单位为1Mbit/s。300Mbit/s~1000Mbit/s,默认最小单位为50Mbit/s。大于1000Mbit/s:默认最小单位为500Mbit/s。 最小值:1 最大值:2000 |
bandwidth_share_type |
否 |
String |
带宽共享类型 最小长度:0 最大长度:255 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
否 |
Long |
磁盘ID 最小值:0 最大值:9223372036854775807 |
index |
是 |
Integer |
磁盘序号,从0开始 最小值:0 最大值:2147483647 |
name |
是 |
String |
磁盘名称 最小长度:0 最大长度:255 |
disktype |
是 |
String |
磁盘类型,同volumetype字段 最小长度:0 最大长度:255 |
size |
是 |
Long |
磁盘大小,单位:GB 最小值:0 最大值:9223372036854775807 |
device_use |
否 |
String |
磁盘使用 最小长度:0 最大长度:255 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
服务端返回的新添加的模板的ID 最小长度:0 最大长度:255 |
状态码:403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误代码 最小长度:0 最大长度:255 |
error_msg |
String |
错误信息 最小长度:0 最大长度:255 |
encoded_authorization_message |
String |
加密授权信息 最小长度:0 最大长度:65535 |
error_param |
Array of strings |
错误参数 最小长度:0 最大长度:65535 数组长度:1 - 20 |
details |
Array of details objects |
详细错误信息 数组长度:1 - 20 |
请求示例
-
创建迁移任务的模板信息,模板名称是xxxx,region信息是region,项目ID是00924d0ad2df4f21ac476dd9f3288xxx。
POST https://{endpoint}/v3/vm/templates { "template" : { "name" : "", "is_template" : false, "region" : "region", "target_server_name" : "abcd", "availability_zone" : "availability_zone", "projectid" : "xxxxxxxxxxxxxxxxxxxxxxxx00000001", "volumetype" : "", "image_id" : "", "vpc" : { "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001", "name" : "sms-1566979232(192.168.0.0/16)" }, "security_groups" : [ { "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001", "name" : "kubernetes.io-default-sg(入方向:udp/1-65535;tcp/22,1-65535,3389; 出方向:--)" } ], "nics" : [ { "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001", "name" : "sms-1566979244(192.168.0.0/16)", "cidr" : "192.168.0.0/16", "ip" : "" } ], "flavor" : "s2.medium.2", "publicip" : { "type" : "5_bgp", "bandwidth_size" : 5, "bandwidth_share_type" : "PER" }, "disk" : [ { "index" : 0, "name" : "system", "disktype" : "", "size" : 40 } ] } }
-
创建模板的参数
POST https://{endpoint}/v3/vm/templates { "template" : { "name" : "xxxx", "is_template" : true, "region" : "region", "target_server_name" : "ggg-win16-t", "availability_zone" : "availability_zone", "projectid" : "xxxxxxxxxxxxxxxxxxxxxxxx00000001", "target_password" : "********", "flavor" : "c3.medium.2", "vpc" : { "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001", "name" : "Migrate-SSd-1", "cidr" : "192.168.0.0/16" }, "nics" : [ { "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001", "name" : "Migrate-SSd-35", "cidr" : "192.168.0.0/16", "ip" : "" } ], "security_groups" : [ { "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001", "name" : "Migrate-dddd" } ], "disk" : [ { "id" : "0", "index" : 0, "name" : "Disk 0", "disktype" : "SATA", "size" : 40, "device_use" : "BOOT" } ], "volumetype" : "SATA", "publicip" : { "type" : "5_g-vm", "bandwidth_size" : 10, "bandwidth_share_type" : "PER" } } }
响应示例
状态码:200
新增模板信息成功
{ "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001" }
状态码:403
鉴权失败
{ "error_code" : "SMS.9004", "error_msg" : "The current account does not have the permission to execute policy You do not have permission to perform action XXX on resource XXX.", "encoded_authorization_message" : "XXXXXX", "error_param" : [ "You do not have permission to perform action XXX on resource XXX." ], "details" : [ { "error_code" : "SMS.9004", "error_msg" : "You do not have permission to perform action XXX on resource XXX." } ] }
状态码
状态码 |
描述 |
---|---|
200 |
新增模板信息成功 |
403 |
鉴权失败 |
错误码
请参见错误码。