创建弹性伸缩配置
功能介绍
创建弹性伸缩配置。
- 伸缩配置是伸缩组内实例(弹性云服务器)的模板,定义了伸缩组内待添加的实例的规格数据。
- 伸缩配置与伸缩组是解耦的,同一伸缩配置可以被多个伸缩组使用。
- 默认最多可以创建100个伸缩配置。
URI
POST /autoscaling-api/v1/{project_id}/scaling_configuration
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
scaling_configuration_name |
否 |
String |
伸缩配置名称(1-64个字符),只能包含中文、字母、数字、下划线或中划线。 |
instance_config |
否 |
Object |
实例配置信息,具体请参考表 instance_config字段数据结构说明。 |
source_scaling_configuration_id |
否 |
String |
源伸缩配置ID,通过该ID查询已有伸缩配置信息与instance_config中参数进行结合,创建新的伸缩配置。
说明:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
instance_id |
否 |
String |
云服务器ID,当使用已存在的云服务器的规格为模板创建弹性伸缩配置时传入该字段,此时flavorRef、imageRef、disk、security_groups、tenancy和dedicated_host_id、instance_name字段不生效。 当不传入instance_id字段时flavorRef、imageRef、disk字段为必选。 |
flavorRef |
否 |
String |
云服务器的规格ID。最多支持选择10个规格,多个规格ID以逗号分隔。云服务器的规格ID通过查询弹性云服务器规格详情和扩展信息列表接口获取详情请参考查询云服务器规格详情和扩展信息列表。 |
imageRef |
否 |
String |
镜像ID,同image_id,指定创建实例时选择的镜像资源。通过查询镜像服务镜像列表接口获取,详情请参考查询镜像列表。 |
disk |
否 |
Array of disk objects |
磁盘组信息,系统盘必选,数据盘可选。请参考表 disk字段数据结构说明。 |
key_name |
否 |
String |
登录云服务器的SSH密钥名称。 获取密钥对方式请参考创建及导入SSH密钥对。
说明:
当key_name与user_data同时指定时,user_data只做用户数据注入。 |
personality |
否 |
Array of personality objects |
注入文件信息。仅支持注入文本文件,最大支持注入5个文件,每个文件最大1KB。详情请参考表 personality字段数据结构说明。 |
public_ip |
否 |
public_ip object |
配置云服务器的弹性IP信息,弹性IP有两种配置方式。详情请参考表 public_ip字段数据结构说明。
|
user_data |
否 |
String |
创建云服务器过程中注入用户数据。支持注入文本、文本文件或gzip文件。更多关于待注入用户数据的信息,请参见用户数据注入。 约束:
建议密码复杂度如下:
示例:
其中,$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig为密文密码,生成方法如下: 1. 生成加密盐值 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" $6$V6azyeLwcD3CHlpY 2. 根据盐值生成密文密码 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig 示例:
说明:
使用Linux镜像并且采用密码登录弹性云服务器时,不支持数据注入。 |
metadata |
否 |
metadata object |
创建云服务器元数据。详情请见表10。
说明:
|
security_groups |
否 |
Array of security_groups objects |
安全组信息,详情可参考表 security_groups字段数据结构说明。使用vpc_id通过查询VPC服务安全组列表接口获取,请参考《虚拟私有云API参考》的“查询安全组列表”。 当伸缩配置和伸缩组同时指定安全组时,将以伸缩配置中的安全组为准;当伸缩配置和伸缩组都没有指定安全组时,增加的弹性云服务器将使用默认安全组。为了使用灵活性更高,推荐在伸缩配置中指定安全组。 |
server_group_id |
否 |
String |
云服务器组ID,详情请见查询云服务器组列表。 |
tenancy |
否 |
String |
在专属主机上创建弹性云服务器。取值如下:
|
dedicated_host_id |
否 |
String |
专属主机的ID。
说明:
|
multi_flavor_priority_policy |
否 |
String |
使用伸缩配置创建云主机的时候,多规格使用的优先级策略。
|
market_type |
否 |
String |
云服务器的计费模式,可以选择竞价计费或按需计费,取值如下:
|
对于Linux弹性云服务器,如果需要注入密码,只能使用userdata进行注入;对于Windows弹性云服务器,如果需要注入密码,只能通过metadata或instance_metadata的admin_pass进行注入。
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
size |
是 |
Integer |
磁盘大小,容量单位为GB。 系统盘输入大小范围为1~1024,且不小于镜像中系统盘的最小(min_disk属性)值。 数据盘输入大小范围为10~32768。 |
volume_type |
是 |
String |
云服务器系统盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。
目前支持"SATA","SAS","GPSSD","SSD","ESSD",“GPSSD2”和“ESSD2”。
当指定的云硬盘类型在avaliability_zone内不存在时,则创建云硬盘失败。
说明:
不同云服务器规格支持的磁盘类型不同,本文仅供参考,具体支持的磁盘类型请以控制台界面显示为准。
说明:
|
disk_type |
是 |
String |
标识系统盘还是数据盘,枚举值如下:
|
dedicated_storage_id |
否 |
String |
云服务器的磁盘可指定创建在用户的专属存储中,需要指定专属存储ID。
说明:
同一个伸缩配置中的磁盘需统一指定或统一不指定专属存储,不支持混用;当指定专属存储时,所有专属存储需要属于同一个可用区,且每个磁盘选择的专属存储支持的磁盘类型都需要和参数volume_type保持一致。 |
data_disk_image_id |
否 |
String |
指定特定ID的数据盘镜像,用以导出云服务器的数据盘。 |
snapshot_id |
否 |
String |
当选择使用整机镜像时,云服务器的系统盘及数据盘将通过整机备份恢复,需要指定磁盘备份的快照ID。
说明:
磁盘备份的快照ID可通过镜像的整机备份ID在CSBS查询单个备份中获得;一个伸缩配置中的每一个disk需要通过snapshot_id和整机备份中的磁盘备份一一对应。 |
metadata |
否 |
metadata object |
创建磁盘的元数据,详情见表5。 |
iops |
否 |
Integer |
为云硬盘配置iops。当“volume_type”设置为GPSSD2、ESSD2类型的云硬盘时,该参数必填,其他类型无需设置。
说明:
|
throughput |
否 |
Integer |
为云硬盘配置吞吐量,单位是MiB/s。当“volume_type”设置为GPSSD2类型的云硬盘时必填,其他类型不能设置。
说明:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
__system__encrypted |
否 |
String |
metadata中的表示加密功能的字段,0代表不加密,1代表加密。 该字段不存在时,云硬盘默认为不加密。
说明:
系统盘不支持加密。 |
__system__cmkid |
否 |
String |
用户主密钥ID,是metadata中的表示加密功能的字段,与__system__encrypted配合使用。
说明:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
是 |
String |
注入文件路径信息。
|
content |
是 |
String |
注入文件内容。 该值应指定为注入文件的内容进行base64格式编码后的信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
eip |
是 |
eip object |
配置云服务器自动分配弹性IP时,创建弹性IP的配置参数。详情请参考表 eip字段数据结构说明。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ip_type |
是 |
String |
弹性IP地址类型。 类型枚举值:
详情请参见《虚拟私有云接口参考》“申请弹性公网IP”章节的“publicip”字段说明。 |
bandwidth |
是 |
bandwidth object |
IP地址带宽参数,详情请参考表 bandwidth字段数据结构说明。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
size |
否 |
Integer |
带宽(Mbit/s),按带宽分配取值范围为[1,2000],按流量分配取值范围为[1,300]。
说明:
|
share_type |
是 |
String |
带宽的共享类型。 共享类型枚举:
|
charging_mode |
否 |
String |
带宽的计费类型。 计费类型枚举:
若字段为其它值,会导致创建云服务器失败。
说明:
|
id |
否 |
String |
带宽ID,使用共享型带宽时,可以选择之前创建的共享带宽来创建弹性IP,详情请见查询带宽列表。
说明:
|
请求示例
POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_configuration { "scaling_configuration_name": "as-config-tlzq", "instance_config": { "flavorRef": "s3.xlarge.4", "imageRef": "627a1223-2ca3-46a7-8d5f-7aef22c74ee6", "disk": [ { "size": 40, "volume_type": "SATA", "disk_type": "SYS" } ], "key_name": "100vm_key" , "security_groups": [{ "id": "6c22a6c0-b5d2-4a84-ac56-51090dcc33be" }], "multi_flavor_priority_policy": "PICK_FIRST" } }
响应参数
参数 |
参数类型 |
描述 |
---|---|---|
scaling_configuration_id |
String |
伸缩配置ID。 |
响应示例
{ "scaling_configuration_id": "f8327883-6a07-4497-9a61-68c03e8e72a2" }
返回值
- 正常
- 异常
返回值
说明
400 Bad Request
服务器未能处理请求。
401 Unauthorized
被请求的页面需要用户名和密码。
403 Forbidden
对被请求的页面访问禁止。
404 Not Found
服务器无法找到被请求的页面。
405 Method Not Allowed
请求中指定的方法不被允许。
406 Not Acceptable
服务器生成的响应无法被客户端所接受。
407 Proxy Authentication Required
用户必须首先使用代理服务器进行验证,这样请求才会被处理。
408 Request Timeout
请求超出了服务器的等待时间。
409 Conflict
由于冲突,请求无法被完成。
500 Internal Server Error
请求未完成。服务异常。
501 Not Implemented
请求未完成。服务器不支持所请求的功能。
502 Bad Gateway
请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service Unavailable
请求未完成。系统暂时异常。
504 Gateway Timeout
网关超时。
错误码
请参考错误码。