更新时间:2025-09-05 GMT+08:00
分享

创建模板

功能介绍

创建启动模板。

创建一个全新的模板,并自动生成版本号为1的作为默认版本。

接口约束

  • 创建模板暂不支持创建包年/包月计费模式的创建参数。
  • 暂不支持IPv6和driver_mode类型的规格。
  • 暂不支持创建归属于专属主机(DeH)或专属资源池(DCC)以及使用专属存储(DSS)的云服务器。
  • 该接口不对创建请求参数做存在性和合理性校验。

调试

您可以在API Explorer中调试该接口。

URI

POST /v3/{project_id}/launch-templates

参数说明请参见表1
表1 参数说明

参数

是否必选

描述

project_id

项目ID。

获取方法请参见获取项目ID

请求消息

请求参数如表2所示。

表2 请求参数

参数

是否必选

参数类型

描述

launch_template

Object

模板信息。详情请参见表3

dry_run

Boolean

是否只预检此次请求。配置为预检时,此次请求不会创建模板。

  • true:预检此次请求,检查项包括是否填写了必需参数、请求格式等。
    • 如果检查不通过,则返回对应错误。
    • 如果检查通过,则返回202状态码。
    • false:不预检此次请求
表3 launch_template字段数据结构说明

参数

是否必选

参数类型

描述

template_data

Object

模板创建请求信息。详情请参见表4

name

String

模板名称。

description

String

模板描述。

version_description

String

初始第一个版本的版本描述。

表4 template_data字段数据结构说明

参数

是否必选

参数类型

描述

flavor_id

String

依据模板创建云服务器的规格ID。

name

String

云服务器名称。

description

String

云服务器描述信息。

availability_zone_id

String

可用区。

enterprise_project_id

String

企业项目ID。

auto_recovery

Boolean

开启自动恢复。

os_profile

Object

镜像属性。详情请参见表5

security_group_ids

Array of strings

安全组ID列表。全网卡生效。

network_interfaces

Array of Objects

网络接口,网卡。详情请参见表6

block_device_mappings

Array of Objects

BDM挂载信息。按flavor限制为准。详情请参见表8

  • 整机镜像,不修改卷属性,按原镜像配置创建。
  • 整机镜像,修改卷属性,要用户解开填写BDM。
  • 提供解镜像为BDM接口

market_options

Object

计费信息。详情请参见表10

internet_access

Object

公网访问。详情请参见表12

metadata

Map<String,String>

元数据。

tag_options

Array of Objects

创建虚拟机标签,目前仅支持给虚拟机打标签,后续会支持同时给相关资源如卷等打标签。

详情请参见表15

表5 os_profile字段数据结构说明

参数

是否必选

参数类型

描述

key_name

String

密钥名称。

user_data

String

注入脚本,会导致请求过大,影响虚拟机表。

  • 和密码的使用冲突。
  • 超大文本问题。

iam_agency_name

String

委托名称。实际需要多委托。

enable_monitoring_service

Boolean

开启主机监控服务。

表6 network_interfaces字段数据结构说明

参数

是否必选

参数类型

描述

virsubnet_id

String

子网ID。

attachment

Object

网卡接口,网卡。详情请参见表7

表7 network_interfaces的attachment字段数据结构说明

参数

是否必选

参数类型

描述

device_index

Integer

加载顺序,0代表主网卡。

表8 block_device_mappings字段数据结构说明

参数

是否必选

参数类型

描述

source_id

String

虚拟机卷数据源类型。

source_type

String

卷设备源头类型。

encrypted

Boolean

是否加密。

cmk_id

String

密钥ID。

volume_type

String

卷类型。

volume_size

Integer

卷大小。

attachment

Object

磁盘接口。详情请参见表9

表9 attachment字段数据结构说明

参数

是否必选

参数类型

描述

boot_index

Integer

加载顺序,0代表系统盘。

表10 market_options字段数据结构说明

参数

是否必选

参数类型

描述

market_type

String

计费类型。

spot_options

Object

spot实例相关参数。详情请参见表11

表11 spot_options字段数据结构说明

参数

是否必选

参数类型

描述

spot_price

Float

用户愿意为竞价实例每小时支付的最高价格。

block_duration_minutes

Integer

购买的竞价实例时长。

instance_interruption_behavior

String

竞价实例中断策略,当前支持immediate。

表12 internet_access字段数据结构说明

参数

是否必选

参数类型

描述

publicip

Object

公网访问。详情请参见表13

表13 publicip字段数据结构说明

参数

是否必选

参数类型

描述

publicip_type

String

弹性公网IP类型。

charging_mode

String

弹性公网IP计费类型。

bandwidth

Object

带宽。详情请参见表14

表14 bandwidth字段数据结构说明

参数

是否必选

参数类型

描述

share_type

String

带宽类型。

size

integer

带宽大小。

charge_mode

String

计费类型。

id

String

带宽ID,创建WHOLE类型带宽的弹性IP时可以指定之前的共享带宽创建。

表15 tag_options字段数据结构说明

参数

是否必选

参数类型

描述

tags

Array of Objects

标签。详情请参见表16

表16 tags字段数据结构说明

参数

是否必选

参数类型

描述

key

String

标签键。

value

String

标签值。

响应消息

响应参数如表17所示。

表17 响应参数

参数

参数类型

描述

launch_template_id

String

模板ID。

请求示例

创建规格为“s3.small.1”,名称为“"ECS_Template”的启动模板。

POST https://{endpoint}/v3/{{projectId}}/launch-templates

{
	"launch_template": {
		"template_data": {
			"flavor_id": "s3.small.1",
			"name": "ECS_Template",
			"description": "aaa",
			"availability_zone_id": "az1",
			"enterprise_project_id": "0",
			"auto_recovery": true,
			"os_profile": {
				"key_name": "string",
				"user_data": "string",
				"iam_agency_name": "",
				"enable_monitoring_service": false
			},
			"security_group_ids": ["76b47fb1-166e-46b9-82e4-1e1c6ecf2af0"],
			"network_interfaces": [{
				"virsubnet_id": "1b223400-8aa1-444f-b3ad-d846fdbeff7e",
				"attachment": {
					"device_index": 0
				}
			}],
			"block_device_mappings": [{
				"source_id": "8e52e33d-1f2f-4d65-bd1f-c42cc420edc1",
				"source_type": "image",
				"encrypted": false,
				"cmk_id": "",
				"volume_type": "SATA",
				"volume_size": 40,
				"attachment": {
					"boot_index": 0				
                                 }
			}],
			"market_options": {
				"market_type": "postpaid",
				"spot_options": {
					"spot_price": 0,
					"block_duration_minutes": 0,
					"instance_interruption_behavior": ""
				}
			},
			"internet_access": {
				"publicip": {
					"publicip_type": "5_union",
					"charging_mode": "postPaid",
					"bandwidth": {
						"share_type": "PER",
						"size": 0,
						"charge_mode": "bandwidth",
						"id": ""
					}
				}
			},
			"metadata": {
				"additionalProp1": "",
				"additionalProp2": "",
				"additionalProp3": ""
			},
			"tag_options": [{
				"tags": [{
					"key": "aaa",
					"value": "bbb"
				}]
			}]
		},
		"name": "",
		"description": "create ecs template",
		"version_description": "1.0"
	},
	"dry_run": false
}

响应示例

{   "launch_template_id": "e6b99563-xxxx-xxxx-xxxx-1820d4fd2a67" }

返回值

请参考通用请求返回值

错误码

请参考错误码

相关文档