Updated on 2025-11-27 GMT+08:00

Updating a Template

Function

This API is used to modify a template.

Calling Method

For details, see Calling APIs.

URI

PUT /v3/vm/templates/{id}

Table 1 Path parameters

Parameter

Mandatory

Type

Description

id

Yes

String

The ID of the template to be modified.

Minimum length: 0 characters

Maximum length: 255 characters

Request

Table 2 Request header parameters

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

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

template

No

TemplateRequest object

The template information.

Table 4 TemplateRequest field description

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:

  • SAS

  • SSD

  • SATA

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:

  • SAS

  • SSD

  • SATA

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

Table 5 VpcObject

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

Table 6 Nics

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

Table 7 SgObject

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

Table 8 PublicIp

Parameter

Mandatory

Type

Description

type

Yes

String

The EIP type. The default value is 5_bgp.

For details about the type, see the description of the type field in the response parameters in the section "Querying EIP Details" 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 about the type, see the description of the bandwidth_share_type field in the response parameters in the section "Querying EIP Details" in the EIP API document.

Minimum length: 0 characters

Maximum length: 255 characters

Table 9 TemplateDisk

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. (The value is a long text and is not enumerated. The value comes from the EVS service.)

For details about the type, see the description of the volume_type field in the response parameters in the "Querying Details About a Disk" section in the EIP 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

Table 10 Response body parameters

Parameter

Type

Description

-

String

The template was modified.

Status code: 403

Table 11 Response body parameters

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

Table 12 details

Parameter

Type

Description

error_code

String

The SMS error code.

Minimum length: 0 characters

Maximum length: 65,535 characters

error_msg

String

The SMS error message.

Minimum length: 0 characters

Maximum length: 65,535 characters

Example Request

This example changes the name of the template whose ID is dfbdd142-985f-4a4f-93e1-c535b46bxxxx to test1025 and its project ID to 00924d0ad2df4f21ac476dd9f3288xxxx.

PUT https://{endpoint}/v3/vm/templates/dfbdd142-985f-4a4f-93e1-c535b46bxxxx

{
  "template" : {
    "name" : "test1025",
    "is_template" : false,
    "region" : "region",
    "projectid" : "xxxxxxxxxxxxxxxxxxxxxxxx00000001",
    "vpc" : {
      "id" : "autoCreate",
      "name" : "autoCreate"
    },
    "nics" : [ {
      "id" : "autoCreate",
      "name" : "autoCreate",
      "cidr" : "192.168.0.0/24"
    } ],
    "security_groups" : [ {
      "id" : "autoCreate",
      "name" : "autoCreate"
    } ],
    "publicip" : {
      "type" : "5_bgp",
      "bandwidth_size" : 1
    },
    "disk" : [ {
      "index" : 0,
      "name" : "index1",
      "disktype" : "type",
      "size" : 111
    } ]
  }
}

Example Response

Status code: 200

The template was modified.

{ }

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 modified.

403

Authentication failed.

Error Codes

For details, see Error Codes.