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" : "00924d0ad2df4f21ac476dd9f3288xxx","volumetype" : "","image_id" : "","vpc" : {"id" : "00cda768-ef7b-40ac-a555-84b0c2b8xxxx","name" : "sms-1566979232(192.168.0.0/16)"},"security_groups" : [ {"id" : "00d57b53-c00b-4d0a-975b-0f3c4fcfxxxx","name": "kubernetes.io-default-sg (Inbound: udp/1-65535;tcp/22,1-65535,3389; Outbound: --) "} ],"nics" : [ {"id" : "b5891372-f48c-4b3c-9f7a-ab58da5bxxxx","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" : "00924d0ad2df4f21ac476dd9f3288xxx","target_password" : "********","flavor" : "c3.medium.2","vpc" : {"id" : "e7069fc1-e09e-4ded-8570-6b3bb2a5893b","name" : "Migrate-SSd-1","cidr" : "192.168.0.0/16"},"nics" : [ {"id" : "c5c7d1a2-a204-4cee-8f11-26ac97a50d13","name" : "Migrate-SSd-35","cidr" : "192.168.0.0/16","ip" : ""} ],"security_groups" : [ {"id" : "003ae8fc-066a-45cd-8a9c-995b1def8c26","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" : "2bf4344f-8f1f-414e-bb1b-8c2f59ada67f"}
Status Codes
Status Code | Description |
---|---|
200 | Response returned. |
Error Codes
For details, see Error Codes.
- Function
- Calling Method
- URI
- Request
- Response
- Example Request
- Example Response
- Status Codes
- Error Codes