All Products
Search
Document Center

CloudOps Orchestration Service:ACS-ECS-BulkyDeleteExpiredImage

Last Updated:Jun 04, 2026

Template name

ACS-ECS-BulkyDeleteExpiredImage: Batch deletes expired images

Execute Now

Template description

Batch-deletes expired images.

Template type

Automated

Owner

Alibaba Cloud

Input parameters

Parameter

Description

Type

Required

Default value

Limit

expiredDays

Number of days since image expiration.

Number

Yes

regionId

The region ID.

String

No

{{ ACS::RegionId }}

force

Whether to force-delete the images.

Boolean

No

False

imageName

Image name filter.

String

No

""

tags

Image tags.

Json

No

[]

rateControl

Task execution concurrency.

Json

No

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

OOSAssumeRole

RAM role assumed by OOS.

String

No

""

Output parameters

Parameter

Description

Type

deletedImageIds

List

Required permission policy

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DeleteImage",
                "ecs:DescribeImages"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Details

Template source on GitHub: ACS-ECS-BulkyDeleteExpiredImage.yml.

Template content

FormatVersion: OOS-2019-06-01
Description:
  en: Deletes multiple expired images in a batch.
  zh-cn: Deletes multiple expired images in a batch.
  name-en: ACS-ECS-BulkyDeleteExpiredImage
  name-zh-cn: batch-delete-expired-images
  categories:
    - image_manage
Parameters:
  regionId:
    Label:
      en: Region ID
      zh-cn: Region ID
    Type: String
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  force:
    Label:
      en: Force delete image
      zh-cn: Force delete image
    Type: Boolean
    Default: false
  expiredDays:
    Label:
      en: Image expiration days
      zh-cn: Image expiration days
    Type: Number
  imageName:
    Label:
      en: Image name for filtering
      zh-cn: Image name for filtering
    Type: String
    Default: ""
  tags:
    Label:
      en: Image tags
      zh-cn: Image tags
    Type: Json
    AssociationProperty: Tags
    AssociationPropertyMetadata:
      ShowSystem: false
    Default: []
  rateControl:
    Label:
      en: Rate control
      zh-cn: Task execution concurrency rate
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: RAM role for OOS
      zh-cn: RAM role for OOS
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: describeImages
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Queries images
      zh-cn: Queries images
    Properties:
      Service: ECS
      API: DescribeImages
      Parameters:
        RegionId: '{{ regionId }}'
        ImageOwnerAlias: self
        Tags: '{{ tags }}'
        Filter:
          - Key: CreationEndTime
            Value:
              'Fn::FormatUTCTime':
                - 'Fn::AddHour':
                    - '{{ ACS::CurrentUTCTime }}'
                    - "Fn::Eval":
                        - '-{{ expiredDays }}*24'
                - '%Y-%m-%dT00:00Z'
    Outputs:
      imageIds:
        Type: List
        ValueSelector: '.Images.Image[] | select( .ImageName | test("{{imageName}}")) | .ImageId'
  - Name: deleteImages
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Deletes images
      zh-cn: Deletes images
    Properties:
      Service: ECS
      API: DeleteImage
      Parameters:
        RegionId: '{{ regionId }}'
        ImageId: '{{ ACS::TaskLoopItem }}'
        Force: '{{ force }}'
    Loop:
      Items: '{{ describeImages.imageIds }}'
      RateControl: '{{ rateControl }}'
Outputs:
  deletedImageIds:
    Type: List
    Value: '{{ describeImages.imageIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - regionId
          - expiredDays
          - imageName
          - tags
          - force
        Label:
          default:
            zh-cn: Basic parameters
            en: Basic parameters
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: Advanced options
            en: Advanced options