Updated on 2026-01-27 GMT+08:00

Modifying 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: 1

Maximum: 36

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

The token can be obtained by calling the IAM API for obtaining a user token. The value of X-Subject-Token in the response header is the user token.

Minimum: 1

Maximum: 16384

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

template

No

TemplateRequest object

The template information.

Table 4 TemplateRequest

Parameter

Mandatory

Type

Description

name

Yes

String

The template name.

Only Chinese characters, underscores (_), hyphens (-), digits, and uppercase and lowercase letters are allowed.

Minimum: 1

Maximum: 64

is_template

No

Boolean

Indicates whether the template is general. If the template is associated with a task, the template is not a general template.

region

No

String

The region.

Minimum: 0

Maximum: 255

projectid

No

String

The project ID.

Minimum: 0

Maximum: 255

target_server_name

No

String

The name of the target server.

Minimum: 0

Maximum: 255

availability_zone

No

String

The availability zone.

Minimum: 0

Maximum: 255

volumetype

No

String

Template name.

The value can contain only letters, digits, underscores (_), and hyphens (-).

Minimum: 0

Maximum: 255

flavor

No

String

The server flavor.

Minimum: 0

Maximum: 65535

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 - 65535

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 - 65535

publicip

No

PublicIp object

The public IP address.

disk

No

Array of TemplateDisk objects

The disk information.

Array Length: 0 - 65535

data_volume_type

No

String

Disk type of the data disk.

Its value comes from EVS.

Common types include SAS (serial attached SCSI), SSD (solid-state drive), and SATA (serial ATA). For details, see the description of the volume_type field in the response parameters in section "Querying Details About a Single EVS Disk" in the EIP API document.

Minimum: 0

Maximum: 255

target_password

No

String

The target server password.

Minimum: 0

Maximum: 1024

image_id

No

String

The ID of the image used to create target servers.

Minimum: 0

Maximum: 255

Table 5 VpcObject

Parameter

Mandatory

Type

Description

id

No

String

The VPC ID. To let the system automatically create a VPC, set this parameter to autoCreate.

Minimum: 1

Maximum: 255

name

No

String

The VPC name.

Minimum: 1

Maximum: 255

cidr

No

String

The VPC CIDR block. The default value is 192.168.0.0/16.

Minimum: 1

Maximum: 255

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: 0

Maximum: 255

name

Yes

String

The subnet name.

Minimum: 0

Maximum: 255

cidr

Yes

String

The subnet gateway/mask.

Minimum: 0

Maximum: 255

ip

No

String

The server IP address. If this parameter is not specified, the system will automatically assign an IP address.

Minimum: 0

Maximum: 255

Table 7 SgObject

Parameter

Mandatory

Type

Description

id

Yes

String

Security group ID.

Minimum: 0

Maximum: 255

name

Yes

String

Security group name.

Minimum: 0

Maximum: 255

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 Response Message in section "Querying an EIP" of the EIP API reference.

Minimum: 0

Maximum: 255

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 does not exceed 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 exceeds 1,000 Mbit/s.

Minimum: 1

Maximum: 2000

bandwidth_share_type

No

String

Bandwidth sharing type (long text, non-enumerated data, from EIP)

For details about the type, see the description of the bandwidth_share_type field in Response Message in section "Querying an EIP" of the EIP API reference.

Minimum: 0

Maximum: 255

Table 9 TemplateDisk

Parameter

Mandatory

Type

Description

id

No

Long

The disk ID.

Minimum: 0

Maximum: 9223372036854775807

index

Yes

Integer

The disk serial number, starting from 0.

Minimum: 0

Maximum: 2147483647

name

Yes

String

The disk name.

Minimum: 0

Maximum: 255

disktype

Yes

String

Disk type, which is the same as the volumetype field. Its value comes from EVS.

For details, see the description of the volume_type field in the response parameters in the section "Querying Details About a Single EVS Disk" in the EIP API document.

Minimum: 0

Maximum: 255

size

Yes

Long

The disk size in GB.

Minimum: 0

Maximum: 9223372036854775807

device_use

No

String

The disk function.

Minimum: 0

Maximum: 255

Response Parameters

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: 0

Maximum: 255

error_msg

String

The error message.

Minimum: 0

Maximum: 255

encoded_authorization_message

String

The encrypted authorization information.

Minimum: 0

Maximum: 65535

error_param

Array of strings

Error parameters.

Minimum: 0

Maximum: 65535

Array Length: 1 - 20

details

Array of details objects

The error details.

Array Length: 1 - 20

Table 12 details

Parameter

Type

Description

error_code

String

The SMS error code.

Minimum: 0

Maximum: 65535

error_msg

String

The SMS error message.

Minimum: 0

Maximum: 65535

Example Requests

This example changes the name of the template whose ID is dfbdd142-985f-4a4f-93e1-c535b46bxxxx to test1025 and changes 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 Responses

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

See Error Codes.