Tous les produits
Search
Centre de documentation

CloudOps Orchestration Service:ACS-ECS-BulkyDeleteInstancesWithApproval

Dernière mise à jour :Aug 11, 2026

Nom du modèle

Supprime des instances ECS par lot après approbation.

Exécuter maintenant

Description du modèle

Libère plusieurs instances Elastic Compute Service (ECS) en paiement à l'utilisation simultanément, après approbation.

Type de modèle

Automatisé

Propriétaire

Alibaba Cloud

Paramètres d'entrée

|
**Paramètre**
|
**Description**
|
**Type**
|
**Obligatoire**
|
**Valeur par défaut**
|
**Limite**
| | --- | --- | --- | --- | --- | --- | |
targets
|
Les instances ECS à libérer.
|
JSON
|
Oui
| | | |
accessToken
|
Jeton de sécurité utilisé pour envoyer des notifications à DingTalk.
|
String
|
Oui
| |
Expression régulière de validation de la chaîne : [A-Za-z0-9]*
| |
regionId
|
ID de la région.
|
String
|
Non
|
{{ ACS::RegionId }}
| | |
rateControl
|
Niveau de concurrence de l'exécution des tâches.
|
JSON
|
Non
|
{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}
| | |
OOSAssumeRole
|
Rôle RAM endossé par CloudOps Orchestration Service (OOS).
|
String
|
Non
|
""
| |

Paramètres de sortie

Aucun

Politique d'autorisation requise pour exécuter le modèle

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DeleteInstance",
                "ecs:DescribeInstances"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:GetApplicationGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Détails

Pour plus d'informations, consultez le fichier ACS-ECS-BulkyDeleteInstancesWithApproval.yml sur GitHub.

Contenu du modèle

FormatVersion: OOS-2019-06-01
Description:
  en: Deletes pay-as-you-go ECS instances after approval.
  zh-cn: Deletes pay-as-you-go ECS instances after approval.
  name-en: Batch Delete ECS Instances with Approval
  name-zh-cn: Batch Delete ECS Instances with Approval
  categories:
    - cost_manage
Parameters:
  regionId:
    Type: String
    Label:
      en: Region ID
      zh-cn: Region ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Type: Json
    Label:
      en: Target Instances
      zh-cn: Target Instances
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: ALIYUN::ECS::Instance
      RegionId: regionId
  accessToken:
    Label:
      en: DingTalk Access Token for Notifications
      zh-cn: DingTalk Access Token for Notifications
    Type: String
    AllowedPattern: '[A-Za-z0-9]*'
  rateControl:
    Label:
      en: Concurrency Rate for Task Execution
      zh-cn: Concurrency Rate for Task Execution
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: RAM Role for OOS to Assume
      zh-cn: RAM Role for OOS to Assume
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
  Description:
    en: Retrieves the specified ECS instances
    zh-cn: Retrieves the specified ECS instances
  Action: ACS::SelectTargets
  Properties:
    ResourceType: ALIYUN::ECS::Instance
    RegionId: '{{ regionId }}'
    Filters:
      - '{{ targets }}'
  Outputs:
    instanceIds:
      Type: List
      ValueSelector: Instances.Instance[].InstanceId
- Name: approvalForDeleteInstances
  Action: ACS::Approve
  Description:
    en: Requests approval to delete the ECS instances
    zh-cn: Requests approval to delete the ECS instances
  Properties:
    NotifyType: WebHook
    WebHook:
      URI: https://oapi.dingtalk.com/robot/send?access_token={{ accessToken }}
      Headers:
        Content-Type: application/json
      Content:
        msgtype: text
        text:
          content: The ECS instances({{ getInstance.instanceIds }}) will be deleted.
- Name: deleteInstance
  Action: ACS::ECS::DeleteInstance
  Description:
    en: Deletes the ECS instances
    zh-cn: Deletes the ECS instances
  Properties:
    regionId: '{{ regionId }}'
    instanceId: '{{ ACS::TaskLoopItem }}'
  Loop:
    RateControl: '{{ rateControl }}'
    Items: '{{ getInstance.instanceIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - accessToken
        Label:
          default:
            zh-cn: Configure Parameters
            en: Configure Parameters
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            zh-cn: Select Instances
            en: Select Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: Advanced Options
            en: Advanced Options