ALIYUN::ESS::ScalingGroupEnable类型用于启用伸缩组。
语法
{
"Type": "ALIYUN::ESS::ScalingGroupEnable",
"Properties": {
"ScalingConfigurationId": String,
"ScalingRuleArisExecuteVersion": Integer,
"ScalingRuleAris": List,
"ScalingGroupId": String,
"RemoveInstanceIds": List,
"InstanceIds": List,
"DetachOptions": Map,
"AttachOptions": Map
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|
ScalingGroupId | String | 是 | 否 | 伸缩组ID。 | 无 |
ScalingConfigurationId | String | 否 | 否 | 需要在伸缩组内激活的伸缩配置ID。 | 无 |
InstanceIds | List | 否 | 是 | 启用后需要加入伸缩组的ECS实例ID 。 | 最多支持20个。 |
ScalingRuleArisExecuteVersion | Integer | 否 | 是 | 伸缩规则标识符执行版本。改变属性会执行一次ScalingRuleAris中的所有的缩放规则。 | 最小值:0。 |
ScalingRuleAris | List | 否 | 是 | 伸缩规则的唯一标识符列表。查询结果会忽略失效的伸缩规则唯一标识符,并且不报错。 | 最多支持10个。 |
RemoveInstanceIds | List | 否 | 是 | 待删除ECS实例ID列表。 | 最多支持1000个。 |
DetachOptions | Map | 否 | 是 | 卸载实例的配置项。 | 更多信息,请参见DetachOptions属性。 |
AttachOptions | Map | 否 | 是 | 挂载实例的配置项。 | 更多信息,请参见AttachOptions属性。 |
AttachOptions语法
{
"LifecycleHook": Boolean,
"Entrusted": Boolean
}
AttachOptions属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|
LifecycleHook | Boolean | 否 | 是 | 伸缩组添加实例时,是否触发扩容生命周期挂钩。 | 取值:- true:触发扩容生命周期挂钩。
- false(默认值):不触发扩容生命周期挂钩。
|
Entrusted | Boolean | 否 | 是 | 将已经存在的实例手动添加到伸缩组时,是否将该实例的生命周期托管给伸缩组。 | 取值: |
DetachOptions语法
{
"LifecycleHook": Boolean,
"DecreaseDesiredCapacity": Boolean,
"DetachOption": "String"
}
DetachOptions属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|
LifecycleHook | Boolean | 否 | 是 | 伸缩组移出ECS实例或ECI实例时,是否触发缩容生命周期挂钩。 | 取值:- true:触发缩容生命周期挂钩。
- false(默认值):不触发缩容生命周期挂钩。
|
DecreaseDesiredCapacity | Boolean | 否 | 是 | 是否修改期望实例数。 | 取值:- true(默认值):ECS实例或ECI实例移出伸缩组后,期望实例数也减少相应数量。
- false:ECS实例或ECI实例移出伸缩组后,期望实例数不会变化。
|
DetachOption | String | 否 | 是 | 指定是否停止使用ECS实例或ECI实例作为负载均衡实例的后端服务器(即将ECS实例或ECI实例移出负载均衡实例的默认服务器组和虚拟服务器组),以及是否将ECS实例或ECI实例移出RDS实例的访问白名单。 | 取值: both:将ECS实例或ECI实例移出负载均衡实例的默认服务器组和虚拟服务器组,并将ECS实例或ECI实例移出RDS实例的访问白名单。 |
返回值
Fn::GetAtt
- LifecycleState: 伸缩组的状态。
- ScalingInstances: 伸缩组自动创建的实例。
- ScalingGroupId: 伸缩组ID。
- ScalingRuleArisExecuteResultInstancesRemoved: 通过执行伸缩规则aris删除实例。
- ScalingRuleArisExecuteResultNumberOfAddedInstances: 通过执行伸缩规则aris添加的vm数量。
- ScalingInstanceDetails: 伸缩实例的详细信息。
- ScalingRuleArisExecuteErrorInfo: 执行伸缩规则aris的错误信息。
- ScalingRuleArisExecuteResultInstancesAdded: 通过执行伸缩规则aris添加实例。
示例
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ECSInstanceIds:
Type: CommaDelimitedList
AssociationProperty: ALIYUN::ECS::Instance::InstanceId
AutoScalingGroupId:
Type: String
AssociationProperty: ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId
ScalingConfigurationId:
Type: String
AssociationProperty: ALIYUN::ESS::ScalingConfiguration::ScalingConfigurationId
Resources:
ScalingGroupEnable:
Type: ALIYUN::ESS::ScalingGroupEnable
Properties:
ScalingGroupId:
Ref: AutoScalingGroupId
ScalingConfigurationId:
Ref: ScalingConfigurationId
InstanceIds:
Ref: InstanceIds
Outputs:
ScalingGroupEnable:
Value:
Fn::GetAtt:
- ScalingGroupEnable
- LifecycleState
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ECSInstanceIds": {
"Type": "CommaDelimitedList",
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceId"
},
"AutoScalingGroupId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId"
},
"ScalingConfigurationId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ESS::ScalingConfiguration::ScalingConfigurationId"
}
},
"Resources": {
"ScalingGroupEnable": {
"Type": "ALIYUN::ESS::ScalingGroupEnable",
"Properties": {
"ScalingGroupId": {
"Ref": "AutoScalingGroupId"
},
"ScalingConfigurationId": {
"Ref": "ScalingConfigurationId"
},
"InstanceIds": {
"Ref": "InstanceIds"
}
}
}
},
"Outputs": {
"ScalingGroupEnable": {
"Value": {
"Fn::GetAtt": [
"ScalingGroupEnable",
"LifecycleState"
]
}
}
}
}