调用CreateLaunchTemplate创建一个实例启动模板,简称模板。实例启动模板能免除您每次创建实例时都需要填入大量配置参数。

接口说明

实例启动模板中包含用于创建实例的相关配置,例如实例所属地域、镜像ID、实例规格、安全组ID和公网带宽等。如果模板中没有指定某一实例配置,您需要在创建实例时为实例指定该配置。创建模板(CreateLaunchTemplate)后,模板的初始版本为1,您可以后续基于该版本创建多个模板版本(CreateLaunchTemplateVersion),版本号从1开始顺序递增。如果您在创建实例(RunInstances)时不指定模板版本号,会采用默认版本。

调用该接口时,您需要注意:

  • 您最多能在一个地域内创建30个实例启动模板,且每个模板最多能有30个版本。
  • 实例启动模板的参数大多数为可选参数。创建模板时,我们不会验证模板中参数取值的存在性和有效性。只会在真正创建实例时校验参数取值的有效性。
  • 如果实例启动模板中设置了某一配置,创建实例(RunInstances)时就无法过滤掉该配置。例如,如果模板设置了HostName=LocalHostRunInstancesHostName取值为空时,实例的主机名依然是LocalHost。如果您想覆盖HostName=LocalHost这一配置,可以在RunInstances中取HostName=MyHost或其他参数值。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
LaunchTemplateName String JoshuaWinPrePaid

实例启动模板名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。

RegionId String cn-hangzhou

地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

Action String CreateLaunchTemplate

系统规定参数。取值:CreateLaunchTemplate

AutoReleaseTime String 2018-01-01T12:05:00Z

自动释放时间。按照ISO8601标准表示,并需要使用UTC时间。格式为:yyyy-MM-ddTHH:mm:ssZ。

  • 如果秒(ss)取值不是00,则自动取为当前分钟(mm)开始时。
  • 最短释放时间为当前时间半小时之后。
  • 最长释放时间不能超过当前时间三年。
DataDisk.N.Category String cloud_ssd

数据盘n的云盘种类。取值范围:

  • cloud:普通云盘
  • cloud_efficiency:高效云盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD云盘
DataDisk.N.DeleteWithInstance Boolean true

表示数据盘是否随实例释放。

DataDisk.N.Description String FinanceDept

实例描述。长度为2~256个英文或中文字符,不能以http://和https://开头。

DataDisk.N.DiskName String cloud_ssdData

数据盘名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。

DataDisk.N.Encrypted String false

数据盘n是否加密。

DataDisk.N.Size Integer 2000

第n个数据盘的容量大小,n的取值范围为1~16,内存单位为GiB。取值范围:

  • cloud:5~2000
  • cloud_efficiency:20~32768
  • cloud_ssd:20~32768
  • cloud_essd:20~32768

该参数的取值必须大于等于参数SnapshotId指定的快照的大小。

DataDisk.N.SnapshotId String s-bp17441ohwka0yuhx***

创建数据盘n使用的快照。n的取值范围为1~16。指定参数DataDisk.N.SnapshotId后,参数DataDisk.N.Size会被忽略,实际创建的云盘大小为指定的快照的大小。

不能使用早于2013年7月15日(含)创建的快照,请求会报错被拒绝。

Description String FinaceDept

实例描述。长度为2~256个英文或中文字符,不能以http://和https://开头。

EnableVmOsConfig Boolean false

是否启用实例操作系统配置。

说明 该参数即将被弃用,为提高兼容性,请尽量使用其他参数。
HostName String JoshuaHost

云服务器的主机名。

  • 点号(.)和短横线(-)不能作为首尾字符,更不能连续使用。
  • Windows实例:字符长度为2~15,不支持点号(.),不能全是数字。允许大小写英文字母、数字和短横线(-)。
  • 其他类型实例(Linux等):字符长度为2~64,支持多个点号(.),点之间为一段,每段允许大小写英文字母、数字和短横线(-)。
ImageId String win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd

镜像ID,启动实例时选择的镜像资源。您可以通过DescribeImages查询您可以使用的镜像资源。

ImageOwnerAlias String system

镜像来源。取值范围:

  • system:阿里云提供的公共镜像。
  • self:您创建的自定义镜像。
  • others:其他阿里云用户共享给您的镜像。
  • marketplace:镜像市场提供的镜像。您查询到的云市场镜像可以直接使用,无需提前订阅。您需要自行留意云市场镜像的收费详情。

默认值:空,空表示返回取值为system、self以及others的结果。

InstanceChargeType String PrePaid

实例的计费方式。取值范围:

  • PrePaid:包年包月。选择该类付费方式时,您必须确认自己的账号支持余额支付和信用支付,否则将返回InvalidPayMethod的错误提示。
  • PostPaid:按量付费。
InstanceName String JoshuaHost

实例名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。

InstanceType String ecs.g5.large

实例的资源规格。更多详情,请参见实例规格族,也可以调用DescribeInstanceTypes接口获得最新的规格表。

InternetChargeType String PayByTraffic

网络计费方式。取值范围:

  • PayByBandwidth:按固定带宽计费
  • PayByTraffic:按使用流量计费
InternetMaxBandwidthIn Integer 200

公网入带宽最大值,单位为Mbit/s。取值范围:1~200

InternetMaxBandwidthOut Integer 5

公网出带宽最大值,单位为Mbit/s。取值范围:0~100

IoOptimized String optimized

是否为I/O优化实例。取值范围:

  • none:非I/O优化
  • optimized:I/O优化
KeyPairName String Instancetest

密钥对名称。

  • Windows实例,忽略该参数。即使填写了该参数,仍旧只执行Password的内容。
  • Linux实例的密码登录方式会被初始化成禁止。
NetworkInterface.N.Description String FinanceDept

弹性网卡描述信息。长度为2~256个英文或中文字符,不能以http://和https://开头。

说明 弹性网卡相关请求参数NetworkInterface.N的N取值不能大于1。
NetworkInterface.N.NetworkInterfaceName String FinanceJoshua

弹性网卡名称。

说明 弹性网卡相关请求参数NetworkInterface.N的N取值不能大于1。
NetworkInterface.N.PrimaryIpAddress String 192.168.2.XXX

弹性网卡的主私有IP地址。

说明 弹性网卡相关请求参数NetworkInterface.N的N取值不能大于1。
NetworkInterface.N.SecurityGroupId String sg-bp15ed6xe1yxeycg7***

弹性网卡所属安全组的ID。弹性网卡的安全组和实例的安全组必须在同一个VPC下。

说明 弹性网卡相关请求参数NetworkInterface.N的N取值不能大于1。
NetworkInterface.N.VSwitchId String vsw-bp1s5fnvk4gn2tws03***

弹性网卡所属的虚拟交换机ID。实例与弹性网卡必须在同一VPC的同一可用区中,可以分属于不同交换机。

说明 弹性网卡相关请求参数NetworkInterface.N的N取值不能大于1。
NetworkType String vpc

实例网络类型。取值范围:

  • classic
  • vpc
Period Integer 1

购买资源的时长,单位为:月。当参数InstanceChargeType取值为PrePaid时才生效且为必选值。一旦指定了DedicatedHostId,则取值范围不能超过专有宿主机的订阅时长。取值范围:

  • PeriodUnit=Week时,Period取值:{“1”, “2”, “3”, “4”}
  • PeriodUnit=Month时,Period取值:{“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “12”, “24”, “36”, ”48”, ”60”}
RamRoleName String FinanceDept

实例RAM角色名称。您可以使用RAM API ListRoles查询您已创建的实例RAM角色。

ResourceGroupId String rg-resourcegroupid1

实例、块存储和弹性网卡所在的企业资源组ID。

SecurityEnhancementStrategy String Deactive

是否为操作系统开启安全加固。取值范围:

  • Active:启用安全加固,只对公共镜像生效。
  • Deactive:不启用安全加固,对所有镜像类型生效。
SecurityGroupId String sg-bp15ed6xe1yxeycg7***

指定新创建实例所属于的安全组ID。同一个安全组内的实例之间可以互相访问,一个安全组最多能管理1000台实例。

SpotDuration Integer 1

实例保护周期。

说明 该参数即将被弃用,为提高兼容性,请尽量使用其他参数。
SpotPriceLimit Float 0.97

设置实例的每小时最高价格。支持最大3位小数,参数SpotStrategy取值为SpotWithPriceLimit时生效。

SpotStrategy String NoSpot

按量实例的抢占策略。当参数InstanceChargeType取值为PostPaid时生效。取值范围:

  • NoSpot:正常按量付费实例。
  • SpotWithPriceLimit:设置上限价格的抢占式实例。
  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。
SystemDisk.Category String cloud_ssd

系统盘的云盘种类。取值范围:

  • cloud:普通云盘
  • cloud_efficiency:高效云盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD云盘
SystemDisk.Description String FinanceDept

系统盘描述。长度为2~256个英文或中文字符,不能以http://和https://开头。

SystemDisk.DiskName String cloud_ssdSystem

系统盘名称。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。

SystemDisk.Size Integer 40

系统盘大小,单位为GiB。取值范围:20~500

该参数的取值必须大于或者等于max{20, ImageSize}。

Tag.N.Key String FinanceDept

实例、块存储和主网卡的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以aliyun和acs:开头,不能包含http://或者https://。

Tag.N.Value String FinanceDept.Joshua

实例、块存储和主网卡的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。

TemplateResourceGroupId String rg-resourcegroupid2

启动模板所在的企业资源组ID。

TemplateTag.N.Key String LTFinance

启动模板的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。

TemplateTag.N.Value String LTFinanceJoshua

启动模板的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。

UserData String ZWNobyBoZWxsbyBlY3Mh

实例自定义数据,需要以Base64方式编码,原始数据最多为16KB。

VSwitchId String vsw-bp1s5fnvk4gn2tws03***

创建VPC类型实例时需要指定虚拟交换机ID。

VersionDescription String LTFinanceJoshua

实例启动模板版本1描述。长度为2~256个英文或中文字符,不能以http://和https://开头。

VpcId String vpc-bp12433upq1y5sceni***

专有网络VPC ID。

ZoneId String cn-hangzhou-g

实例所属的可用区ID。

返回数据

名称 类型 示例值 描述
LaunchTemplateId String lt-m5eiaupmvm2op9d*****

实例启动模板ID。

RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

请求ID。

示例

请求示例

https://ecs.aliyuncs.com/?Action=CreateLaunchTemplate
&LaunchTemplateName=JoshuaWinPrePaid
&RegionId=cn-hangzhou
&TemplateTag.1.Key=LTFinance
&TemplateTag.1.Value=LTFinanceJoshua
&VersionDescription=LTFinanceJoshua
&ImageId=win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd
&InstanceType=ecs.g5.large
&SecurityGroupId=sg-bp15ed6xe1yxeycg7***
&VpcId=vpc-bp12433upq1y5sceni07X
&VSwitchId=vsw-bp1s5fnvk4gn2tws03***
&InstanceName=JoshuaHost
&Description=FinaceDept
&InternetMaxBandwidthIn=200
&InternetMaxBandwidthOut=5
&HostName=JoshuaHost
&ZoneId=cn-hangzhou-g
&SystemDisk.Category=cloud_ssd
&SystemDisk.Size=40
&SystemDisk.DiskName=cloud_ssdSystem
&SystemDisk.Description=FinanceDept
&DataDisk.1.Size=2000
&DataDisk.1.SnapshotId=s-bp17441ohwka0yuhx***
&DataDisk.1.Category=cloud_ssd
&DataDisk.1.Encrypted=false
&DataDisk.1.DiskName=cloud_ssdData
&DataDisk.1.Description=FinanceDept
&DataDisk.1.DeleteWithInstance=true
&IoOptimized=optimized
&NetworkInterface.1.PrimaryIpAddress=192.168.2.XXX
&NetworkInterface.1.VSwitchId=vsw-bp1s5fnvk4gn2tws03***
&NetworkInterface.1.SecurityGroupId=sg-bp15ed6xe1yxeycg7***
&NetworkInterface.1.NetworkInterfaceName=FinnanceJoshua
&NetworkInterface.1.Description=FinnanceDept
&InstanceChargeType=PrePaid
&Period=1
&InternetChargeType=PayByTraffic
&NetworkType=vpc
&UserData=ZWNobyBoZWxsbyBlY3Mh
&KeyPairName=Instancetest
&RamRoleName=FinanceDept
&AutoReleaseTime=2018-01-01T12:05:00Z
&SpotStrategy=NoSpot
&SpotPriceLimit=0.97
&SecurityEnhancementStrategy=Deactive
&Tag.1.Key=FinanceDept
&Tag.1.Value=FinanceDept.Joshua
&<公共请求参数>

正常返回示例

XML 格式

<CreateLaunchTemplateResponse>
      <RequestId>04F0F334-1335-436C-A1D7-6C044FExxxxx</RequestId>
      <LaunchTemplateId>lt-m5eiaupmvm2op9d*****</LaunchTemplateId>
</CreateLaunchTemplateResponse>

JSON 格式

{
	"LaunchTemplateId":"lt-m5eiaupmvm2op9d*****",
	"RequestId":"04F0F334-1335-436C-A1D7-6C044FExxxxx"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidRegion.NotExist %s 指定的Region不存在。
403 LaunchTemplateLimitExceed %s 启动模板数量达到上限。
403 LaunchTemplateName.Duplicated %s 模板名称不能相同。
400 MissingParameter %s 缺失必需参数。
400 InvalidParameter %s 参数格式不正确。
400 InvalidLaunchTemplateName.Malformed The specified parameter LaunchTemplateName is not valid. 指定的模板名称格式无效。
400 InvalidDescription.Malformed The specified parameter "VersionDescription" is not valid. 指定的模板版本描述格式无效。
403 InnerServiceFailed %s 内部服务调用失败。
400 InvalidUserData.SizeExceeded %s UserData大小超出限制。
400 InvalidUserData.Base64FormatInvalid %s 指定的模板版本描述格式无效。

访问错误中心查看更多错误码。