文档首页/ 弹性云服务器 ECS/ API参考/ API/ 模板管理/ 创建模板 - CreateLaunchTemplate
更新时间:2026-07-24 GMT+08:00
分享

创建模板 - CreateLaunchTemplate

功能介绍

创建启动模板。

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

接口约束

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

调试

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

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

ecs:launchTemplates:create

write

-

-

-

-

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:发送正常请求,不对请求体做预检。

默认取值:

false

表3 launch_template字段数据结构说明

参数

是否必选

参数类型

描述

template_data

Object

参数解释

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

name

String

参数解释

模板名称。

约束限制:

不涉及

取值范围:

  • 长度为1~64个字符。
  • 只能由中文、英文、数字、中划线(-)、下划线(_)、小数点(.)等字符组成。

默认取值:

不涉及

description

String

参数解释

模板描述。

约束限制:

不涉及

取值范围:

最大长度为85个字符。

默认取值:

不涉及

version_description

String

参数解释

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

约束限制:

不涉及

取值范围:

最大长度为85个字符。

默认取值:

不涉及

表4 template_data字段数据结构说明

参数

是否必选

参数类型

描述

flavor_id

String

参数解释

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

name

String

参数解释

云服务器名称。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

description

String

参数解释

云服务器描述信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

availability_zone_id

String

参数解释

可用区。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

enterprise_project_id

String

参数解释

企业项目ID。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

auto_recovery

Boolean

参数解释

是否配置云服务器自动恢复的功能。

约束限制:

不涉及

取值范围:

  • true:表示配置自动恢复功能。
  • false:表示不配置自动恢复功能。

默认取值:

不涉及

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

market_options

Object

参数解释

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

internet_access

Object

参数解释

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

metadata

Map<String,String>

参数解释

云服务器元数据。

可以通过元数据自定义键值对。系统预留键值对请参见表11

约束限制:

不涉及

取值范围:

  • key:长度大于0小于256字节。
  • value:长度大于等于0小于256字节。

默认取值:

不涉及

tag_options

Array of Objects

参数解释

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

详情请参见表15

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表5 os_profile字段数据结构说明

参数

是否必选

参数类型

描述

key_name

String

参数解释

使用SSH密钥方式登录云服务器时,指定已创建密钥(keypair)的名称。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

user_data

String

参数解释

创建云服务器过程中待注入实例自定义数据。支持注入文本、文本文件。

约束限制:

  • user_data的值为base64编码之后的内容。
  • 注入内容(编码之前的内容)最大长度为32K。

取值范围:

不涉及

默认取值:

不涉及

iam_agency_name

String

参数解释

委托名称。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

enable_monitoring_service

Boolean

参数解释

开启主机监控服务。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表6 network_interfaces字段数据结构说明

参数

是否必选

参数类型

描述

virsubnet_id

String

参数解释

子网ID。

约束限制:

需要指定vpcid对应VPC下已创建的子网(subnet)的网络ID,UUID格式。

可以通过VPC服务查询子网列表接口查询。

取值范围:

不涉及

默认取值:

不涉及

attachment

Object

参数解释

网卡信息。详情请参见表7

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

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

参数

是否必选

参数类型

描述

device_index

Integer

参数解释

网卡挂载在云服务器上的相对前后位置,主网卡为0。

约束限制:

  • 不能多个网卡都设置为0。
  • 当未设置device_index时,系统按照列表顺序分配。

取值范围:

不涉及

默认取值:

不涉及

表8 block_device_mappings字段数据结构说明

参数

是否必选

参数类型

描述

source_id

String

参数解释

虚拟机卷数据源类型。

  • 当source_type值是volume时,指卷的uuid。
  • 当source_type值是snapshot时,指快照的uuid。
  • 当source_type值是image时,指镜像的uuid。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

source_type

String

参数解释

卷设备源头类型。

约束限制:

不涉及

取值范围:

当前只支持volume、image、snapshot、blank类型。

  • volume:使用卷创建云服务器
  • image:使用镜像创建云服务器
  • snapshot:使用快照创建云服务器
  • blank:创建空数据卷。

默认取值:

不涉及

encrypted

Boolean

参数解释

是否加密。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

cmk_id

String

参数解释

密钥ID。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

volume_type

String

参数解释

卷类型。

了解不同磁盘类型的详细信息,请参见磁盘类型及性能介绍

约束限制:

当source_type取值为image,destination_type取值为volume时建议填写。

取值范围:

不涉及

默认取值:

不涉及

volume_size

Integer

参数解释

卷大小。

约束限制:

不涉及

取值范围:

整数,单位为GiB。

默认取值:

不涉及

attachment

Object

参数解释

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表9 attachment字段数据结构说明

参数

是否必选

参数类型

描述

boot_index

Integer

参数解释

启动标识。

约束限制:

当卷设备的源头类型全为volume时,boot_index的值有一个为0。

取值范围:

  • “0”代表启动盘。
  • “-1”代表非启动盘。不传该字段时默认取值为“-1”。

默认取值:

不涉及

delete_on_termination

Boolean

参数解释

磁盘是否随实例一同释放。

约束限制:

不涉及

取值范围:

  • true:随实例释放
  • false:不随实例释放

默认取值:

默认系统盘设置为true随实例释放,数据盘设置为false不随实例释放。

表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类型。

约束限制:

必须是系统具体支持的类型。

取值范围:

5_bgp(全动态BGP)、5_sbgp(静态BGP)、5_youxuanbgp(优选BGP)

默认取值:

不涉及

charging_mode

String

参数解释

弹性公网IP计费类型。

约束限制:

不涉及

取值范围:

  • prePaid:预付费,即包年包月。
  • postPaid:后付费,即按需付费。

默认取值:

postPaid

bandwidth

Object

参数解释

弹性公网IP带宽。详情请参见表14

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

delete_on_termination

Boolean

参数解释

弹性公网IP是否随实例一同释放。

约束限制:

不涉及

取值范围:

  • true:随实例释放
  • false:不随实例释放

默认取值:

不涉及

表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/{project_id}/launch-templates

{
    "launch_template": {
        "template_data": {
            "flavor_id": "s3.small.1",
            "name": "ECS_Template",
            "description": "aaa",
            "availability_zone_id": "az1",
            "enterprise_project_id": "f8e0ecc8-XXXX-XXXX-XXXX-fb4258ffdcbb",
            "auto_recovery": true,
            "os_profile": {
                "key_name": "new-key",
                "user_data": "XXXXXXXXXXXXXXXX",
                "iam_agency_name": "new-agency",
                "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" }

返回值

请参考通用请求返回值

错误码

请参考错误码

相关文档