创建弹性伸缩配置 - CreateScalingConfig
功能介绍
创建弹性伸缩配置。
- 伸缩配置是伸缩组内实例(弹性云服务器)的模板,定义了伸缩组内待添加的实例的规格数据。
- 伸缩配置与伸缩组是解耦的,同一伸缩配置可以被多个伸缩组使用。
- 默认最多可以创建100个伸缩配置。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
as:scalingConfig:create
write
-
as:configs:create
-
URI
POST /autoscaling-api/v1/{project_id}/scaling_configuration
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID。获取方式请参见获取项目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 | 否 | String | 参数解释: 云服务器的规格ID。云服务器的规格ID通过查询弹性云服务器规格详情和扩展信息列表接口获取详情请参考查询云服务器规格详情和扩展信息列表。 约束限制: 最多支持选择10个规格,多个规格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 | 参数解释: 注入文件信息。详情请参考表 personality字段数据结构说明。 约束限制: 仅支持注入文本文件,最大支持注入5个文件,每个文件最大1KB。 |
| public_ip | 否 | public_ip object | 参数解释: 配置云服务器的弹性IP信息,弹性IP有两种配置方式。详情请参考表 public_ip字段数据结构说明。 约束限制: 弹性IP有两种配置方式。
当用户开通了细粒度策略,并且要将配置了弹性IP的伸缩配置关联到某个伸缩组时,这个用户被授予的细粒度策略中必须包含允许“vpc:publicIps:create”的授权项。 |
| 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 示例:
默认取值: 不涉及 |
| 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 | 参数解释: 使用伸缩配置创建云主机的时候,多规格使用的优先级策略。 约束限制: 不涉及 取值范围:
默认取值: PICK_FIRST:选择优先。 |
| market_type | 否 | String | 参数解释: 云服务器的计费模式,可以选择竞价计费或按需计费。 约束限制: 不涉及 取值范围:
默认取值: null |
| cpu_options | 否 | CpuOptions object | 参数解释: 表示是否关闭实例超线程。详情请见表12 cpu_options字段数据结构说明。 约束限制: 不涉及 |
对于Linux弹性云服务器,如果需要注入密码,只能使用userdata进行注入;对于Windows弹性云服务器,如果需要注入密码,只能通过metadata或instance_metadata的admin_pass进行注入。
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| size | 是 | Integer | 参数解释: 磁盘大小,容量单位为GB。 约束限制: 系统盘输入大小不小于镜像中系统盘的最小(min_disk属性)值。 取值范围:
默认取值: 不涉及 |
| volume_type | 是 | String | 参数解释: 云服务器系统盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。 了解不同磁盘类型的详细信息,请参见磁盘类型及性能介绍。 约束限制: 当指定的云硬盘类型在availability_zone内不存在时,则创建云硬盘失败。 取值范围: 目前支持"SATA","SAS","GPSSD","SSD","ESSD",“GPSSD2”和“ESSD2”。
说明: 不同云服务器规格支持的磁盘类型不同,本文仅供参考,具体支持的磁盘类型请以控制台界面显示为准。 默认取值: 不涉及 |
| 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(每秒进行读写的操作次数,单位为次/秒)。
约束限制:
取值范围:
默认取值: 不涉及 |
| throughput | 否 | Integer | 参数解释: 为云硬盘配置吞吐量,单位是MiB/s。当“volume_type”设置为GPSSD2类型的云硬盘时必填,其他类型不能设置。 了解GPSSD2类型云硬盘的吞吐量大小范围,请参见磁盘类型及性能介绍。 约束限制:
取值范围: 125-1000 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| __system__encrypted | 否 | String | 参数解释: metadata中的表示加密功能的字段。 约束限制: 系统盘不支持加密。 该字段不存在时,云硬盘默认为不加密。 取值范围:
默认取值: 0 |
| __system__cmkid | 否 | String | 参数解释: 用户主密钥ID,是metadata中的表示加密功能的字段。 请参考查询密钥列表,通过HTTPS请求获取密钥ID。 约束限制:
取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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,详情请见查询带宽列表。 约束限制:
取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| admin_pass | 否 | String | 参数解释: 如果需要使用密码方式登录云服务器,可使用admin_pass字段指定云服务器管理员账户初始登录密码。 约束限制: Linux管理员账户为root,Windows管理员账户为Administrator。 取值范围: 密码复杂度要求:
默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| id | 是 | String | 参数解释: 安全组ID。如何获取安全组ID,可参考查看安全组获取。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_configuration
{
"scaling_configuration_name": "as-config-tlzp",
"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,可参考查询弹性伸缩配置列表 - ListScalingConfigs获取。 取值范围: 不涉及 |
响应示例
{
"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
网关超时。
错误码
请参考错误码。