Creating a Template
Function
This API is used to create a template.
Calling Method
For details, see Calling APIs.
URI
POST /v3/vm/templates
Request
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
The user token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). Minimum length: 1 character Maximum length: 16,384 characters |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
template |
Yes |
TemplateRequest object |
The template information. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
The template name. Minimum length: 0 characters Maximum length: 255 characters |
is_template |
Yes |
Boolean |
Specifies whether the template is general. If the template is associated with a task, the template is not a general template. |
region |
Yes |
String |
The region. Minimum length: 0 characters Maximum length: 255 characters |
projectid |
Yes |
String |
The project ID. Minimum length: 0 characters Maximum length: 255 characters |
target_server_name |
No |
String |
The name of the target server. Minimum length: 0 characters Maximum length: 255 characters |
availability_zone |
No |
String |
The AZ. Minimum length: 0 characters Maximum length: 255 characters |
volumetype |
No |
String |
The disk type. The value can be: |
flavor |
No |
String |
The flavor of the target server. Minimum length: 0 characters Maximum length: 65,535 characters |
vpc |
No |
VpcObject object |
The VPC information. |
nics |
No |
Array of Nics objects |
The NIC information. Multiple NICs are supported. If the target server is automatically created, enter only one NIC and set the ID to autoCreate. Array length: 0 to 65,535 characters |
security_groups |
No |
Array of SgObject objects |
The security group information. Multiple security groups are supported. If the target server is automatically created, enter only one security group and set the ID to autoCreate. Array length: 0 to 65,535 characters |
publicip |
No |
PublicIp object |
The public IP address. |
disk |
No |
Array of TemplateDisk objects |
The disk information. Array length: 0 to 65,535 characters |
data_volume_type |
No |
String |
The disk type. The value can be: |
target_password |
No |
String |
The password for logging in to the target server. Minimum length: 0 characters Maximum length: 1,024 characters |
image_id |
No |
String |
The ID of the image used to create target servers. Minimum length: 0 characters Maximum length: 255 characters |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
Yes |
String |
The VPC ID. If the target server is created automatically, set this parameter to autoCreate. Minimum length: 1 character Maximum length: 255 characters |
name |
Yes |
String |
The VPC name. Minimum length: 1 character Maximum length: 255 characters |
cidr |
No |
String |
The VPC CIDR block. The default value is 192.168.0.0/16. Minimum length: 1 character Maximum length: 255 characters |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
Yes |
String |
The subnet ID. If the target server is created automatically, set this parameter to autoCreate. Minimum length: 0 characters Maximum length: 255 characters |
name |
Yes |
String |
The subnet name. Minimum length: 0 characters Maximum length: 255 characters |
cidr |
Yes |
String |
The subnet gateway/mask. Minimum length: 0 characters Maximum length: 255 characters |
ip |
No |
String |
The IP address of the target server. If this parameter is not specified, the system will automatically assign an IP address. Minimum length: 0 characters Maximum length: 255 characters |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
Yes |
String |
The security group ID. Minimum length: 0 characters Maximum length: 255 characters |
name |
Yes |
String |
The security group name. Minimum length: 0 characters Maximum length: 255 characters |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
The EIP type. The default value is 5_bgp. Minimum length: 0 characters Maximum length: 255 characters |
bandwidth_size |
Yes |
Integer |
The bandwidth size in Mbit/s. The minimum increment for bandwidth adjustment varies depending on the bandwidth range. The minimum increment is 1 Mbit/s if the allowed bandwidth ranges from 0 to 300 Mbit/s. The minimum increment is 50 Mbit/s if the allowed bandwidth ranges from 300 Mbit/s to 1,000 Mbit/s. The minimum increment is 500 Mbit/s if the allowed bandwidth is greater than 1,000 Mbit/s. Minimum value: 1 Maximum value: 2000 |
bandwidth_share_type |
No |
String |
The bandwidth type, shared or dedicated. Minimum length: 0 characters Maximum length: 255 characters |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
No |
Long |
The disk ID. Minimum value: 0 Maximum value: 9223372036854775807 |
index |
Yes |
Integer |
The disk serial number, starting from 0. Minimum value: 0 Maximum value: 2147483647 |
name |
Yes |
String |
The disk name. Minimum length: 0 characters Maximum length: 255 characters |
disktype |
Yes |
String |
The disk type. The value is the same as that of volumetype. Minimum length: 0 characters Maximum length: 255 characters |
size |
Yes |
Long |
The disk size in GB. Minimum value: 0 Maximum value: 9223372036854775807 |
device_use |
No |
String |
The used disk space. Minimum length: 0 characters Maximum length: 255 characters |
Response
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
String |
The ID of the newly created template returned by SMS. Minimum length: 0 characters Maximum length: 255 characters |
Example Request
-
This example creates a migration task template. The template name is xxxx, the region information is region, and the project ID is 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 (Inbound: udp/1-65535;tcp/22,1-65535,3389; Outbound: --) " } ], "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 } ] } }
-
This example creates a template directly.
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" } } }
Example Response
Status code: 200
OK
{ "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001" }
Status Codes
Status Code |
Description |
---|---|
200 |
Response returned. |
Error Codes
For details, see Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.