全部产品
Search
文档中心

CloudOps Orchestration Service:ACS-ECS-BulkyDeleteInstancesWithApproval

更新时间:Dec 21, 2025

Nama template

Template ACS-ECS-BulkyDeleteInstancesWithApproval menghapus instance Elastic Compute Service (ECS) secara batch setelah mendapat persetujuan.

Eksekusi Sekarang

Deskripsi template

Menghapus beberapa instance Elastic Compute Service (ECS) dengan sistem bayar sesuai pemakaian sekaligus setelah persetujuan.

Tipe template

Otomatis

Pemilik

Alibaba Cloud

Parameter input

Parameter

Deskripsi

Tipe

Diperlukan

Nilai default

Batasan

targets

Instance ECS yang akan dilepaskan.

Json

Ya

accessToken

Token keamanan yang digunakan untuk mengirim notifikasi ke DingTalk.

String

Ya

Ekspresi reguler untuk verifikasi string: [A-Za-z0-9]*

regionId

ID wilayah.

String

Tidak

{{ ACS::RegionId }}

rateControl

Konkurensi eksekusi tugas

Json

Tidak

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

Peran Resource Access Management (RAM) yang diasumsikan oleh CloudOps Orchestration Service (OOS).

String

Tidak

""

Parameter Keluaran

Tidak ada

Kebijakan izin yang diperlukan untuk mengeksekusi template

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

Detail

Untuk informasi lebih lanjut, lihat ACS-ECS-BulkyDeleteInstancesWithApproval.yml di GitHub.

Konten Template

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