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 |
X-Auth-Token The user token. The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. 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 server name. 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. SAS: serial attached SCSI SSD: solid-state drive SATA: serial advanced technology attachment The value can be: |
|
flavor |
No |
String |
The server flavor. 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. To let the system automatically add a NIC, configure only one NIC entry and set the ID to autoCreate. Array length: 0 to 65,535 |
|
security_groups |
No |
Array of SgObject objects |
The security group information. Multiple security groups are supported. To let the system automatically create a security group, configure only one security group record and set the ID to autoCreate. Array length: 0 to 65,535 |
|
publicip |
No |
PublicIp object |
The public IP address information. |
|
disk |
No |
Array of TemplateDisk objects |
The disk information. Array length: 0 to 65,535 |
|
data_volume_type |
No |
String |
The data disk type. SAS: serial attached SCSI SSD: solid-state drive SATA: serial advanced technology attachment The value can be: |
|
target_password |
No |
String |
The server login password. Minimum length: 0 characters Maximum length: 1,024 characters |
|
image_id |
No |
String |
The ID of the image for server creation. Minimum length: 0 characters Maximum length: 255 characters |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
id |
Yes |
String |
The VPC ID. To let the system automatically create a VPC, 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. To let the system automatically create a subnet, 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 server IP address. 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. For details, see the description of the type field in the response parameters in the "Querying EIP Details" section in the EIP API document. 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 |
Bandwidth sharing type (long text information, non-enumerated data, from the EIP service) For details, see the description of the bandwidth_share_type field in the response parameters in the "Querying EIP Details" section in the EIP API document. 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 |
Disk type, which is the same as the volumetype field (long text information, non-enumerated data, from the EVS service) For details, see the description of the volume_type field in the response parameters in the "Querying Details About a Disk" section in the EVS API document. 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 |
Status code: 403
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
The error code. Minimum length: 0 characters Maximum length: 255 characters |
|
error_msg |
String |
The error message. Minimum length: 0 characters Maximum length: 255 characters |
|
encoded_authorization_message |
String |
The encrypted authorization information. Minimum length: 0 characters Maximum length: 65,535 characters |
|
error_param |
Array of strings |
Invalid parameters. Minimum length: 0 characters Maximum length: 65,535 characters Array length: 1 to 20 |
|
details |
Array of details objects |
The error details. Array length: 1 to 20 |
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
The template was created.
{
"id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001"
}
Status code: 403
Authentication failed.
{
"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."
} ]
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
The template was created. |
|
403 |
Authentication failed. |
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.