全部產品
Search
文件中心

Resource Orchestration Service:ALIYUN::ESS::ScalingGroupEnable

更新時間:Apr 10, 2025

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個。
ScalingRuleArisExecuteVersionInteger伸縮規則標識符執行版本。改變屬性會執行一次ScalingRuleAris中的所有的縮放規則。最小值:0。
ScalingRuleArisList伸縮規則的唯一識別碼列表。查詢結果會忽略失效的伸縮規則唯一識別碼,並且不報錯。最多支援10個。
RemoveInstanceIdsList待刪除ECS執行個體ID列表。最多支援1000個。
DetachOptionsMap卸載執行個體的配置項。更多資訊,請參見DetachOptions屬性
AttachOptionsMap掛載執行個體的配置項。更多資訊,請參見AttachOptions屬性

AttachOptions文法

{
    "LifecycleHook": Boolean,
    "Entrusted": Boolean
}

AttachOptions屬性

屬性名稱類型必須允許更新描述約束
LifecycleHookBoolean伸縮組添加執行個體時,是否觸發擴容生命週期掛鈎。取值:
  • true:觸發擴容生命週期掛鈎。
  • false(預設值):不觸發擴容生命週期掛鈎。
EntrustedBoolean將已經存在的執行個體手動添加到伸縮組時,是否將該執行個體的生命週期託管給伸縮組。取值:
  • true:託管。該執行個體的生命週期由Auto Scaling管理,與伸縮組自動建立的執行個體一致。

    執行個體被移出伸縮組(不包括通過調用DetachInstances參數移出)時會自動釋放。

  • false(預設值):不託管。該執行個體在被移出伸縮組時不會被釋放。
說明 不支援託管訂用帳戶執行個體。

DetachOptions文法

{
    "LifecycleHook": Boolean,
    "DecreaseDesiredCapacity": Boolean,
    "DetachOption": "String"
}

DetachOptions屬性

屬性名稱類型必須允許更新描述約束
LifecycleHookBoolean伸縮組移出ECS執行個體或ECI執行個體時,是否觸發縮容生命週期掛鈎。取值:
  • true:觸發縮容生命週期掛鈎。
  • false(預設值):不觸發縮容生命週期掛鈎。
DecreaseDesiredCapacityBoolean是否修改期望執行個體數。取值:
  • true(預設值):ECS執行個體或ECI執行個體移出伸縮組後,期望執行個體數也減少相應數量。
  • false:ECS執行個體或ECI執行個體移出伸縮組後,期望執行個體數不會變化。
DetachOptionString指定是否停止使用ECS執行個體或ECI執行個體作為Server Load Balancer執行個體的後端伺服器(即將ECS執行個體或ECI執行個體移出Server Load Balancer執行個體的預設伺服器組和虛擬伺服器組),以及是否將ECS執行個體或ECI執行個體移出RDS執行個體的訪問白名單。取值:

both:將ECS執行個體或ECI執行個體移出Server Load Balancer執行個體的預設伺服器組和虛擬伺服器組,並將ECS執行個體或ECI執行個體移出RDS執行個體的訪問白名單。

傳回值

Fn::GetAtt

  • LifecycleState: 伸縮組的狀態。
  • ScalingInstances: 伸縮組自動建立的執行個體。
  • ScalingGroupId: 伸縮組ID。
  • ScalingRuleArisExecuteResultInstancesRemoved: 通過執行伸縮規則aris刪除執行個體。
  • ScalingRuleArisExecuteResultNumberOfAddedInstances: 通過執行伸縮規則aris添加的vm數量。
  • ScalingInstanceDetails: 伸縮執行個體的詳細資料。
  • ScalingRuleArisExecuteErrorInfo: 執行伸縮規則aris的錯誤資訊。
  • ScalingRuleArisExecuteResultInstancesAdded: 通過執行伸縮規則aris添加執行個體。

樣本

  • YAML格式

    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
                        
  • JSON格式

    {
      "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"
            ]
          }
        }
      }
    }