All Products
Search
Document Center

CloudOps Orchestration Service:ACS-ECS-BulkyDeleteExpiredImage

Last Updated:Dec 23, 2025

Template name

ACS-ECS-BulkyDeleteExpiredImage: Batch deletes expired images

Execute Now

Template description

Deletes multiple expired images at a time.

Template type

Automated

Owner

Alibaba Cloud

Input parameters

Parameter

Description

Type

Required

Default value

Limit

expiredDays

The number of days that have elapsed after the images expired.

Number

Yes

regionId

The region ID.

String

No

{{ ACS::RegionId }}

force

Specifies whether to forcibly delete the images.

Boolean

No

False

imageName

The name field that is used to filter the images.

String

No

""

tags

The tags of the images.

Json

No

[]

rateControl

Task execution concurrency

Json

No

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

OOSAssumeRole

The Resource Access Management (RAM) role that is assumed by CloudOps Orchestration Service (OOS).

String

No

""

Output parameters

Parameter

Description

Type

deletedImageIds

List

Permission policy that is required to execute the template

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

Details

For more information, see ACS-ECS-BulkyDeleteExpiredImage.yml at GitHub.

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