ACS-Redis-FlushExpireKeys

更新时间:
复制 MD 格式

Clears expired keys from ApsaraDB for Redis instances.

Template name

ACS-Redis-FlushExpireKeys - Clears expired Redis keys

Execute Now

Template description

Deletes expired keys on ApsaraDB for Redis instances.

Template type

Automated

Owner

Alibaba Cloud

Input parameters

Parameter

Description

Type

Required

Default value

Limit

Targets

Target instances.

Json

Yes

RegionId

Region ID.

String

No

{{ ACS::RegionId }}

RateControl

Task concurrency settings.

Json

No

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

OOSAssumeRole

RAM role assumed by OOS.

String

No

""

Output parameters

None

Required permissions

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

Details

Template source: ACS-Redis-FlushExpireKeys.yml on GitHub.

Template content

FormatVersion: OOS-2019-06-01
Description:
  en: Deletes expired keys from Redis instances.
  name-en: ACS-Redis-FlushExpireKeys
  categories:
    - security
    - tair
Parameters:
  RegionId:
    Type: String
    Label:
      en: Region ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  Targets:
    Type: Json
    Label:
      en: Target Instances
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: ALIYUN::Redis::Instance
      RegionId: regionId
  RateControl:
    Label:
      en: Concurrency Settings
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: RAM Role for OOS
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: GetInstance
    Description:
      en: Retrieves the Redis instances.
    Action: ACS::SelectTargets
    Properties:
      ResourceType: ALIYUN::Redis::Instance
      RegionId: '{{ RegionId }}'
      Filters:
        - '{{ Targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: Instances.Instance[].InstanceId
  - Name: FlushExpireKeys
    Action: ACS::ExecuteApi
    Description:
      en: Deletes expired keys from the Redis instances.
    Properties:
      Service: r-kvstore
      API: FlushExpireKeys
      Parameters:
        InstanceId: '{{ ACS::TaskLoopItem }}'
        EffectiveTime: Immediately
    Loop:
      RateControl: '{{ RateControl }}'
      Items: '{{ GetInstance.instanceIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - regionId
          - Targets
        Label:
          default:
            en: Select Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            en: Advanced Options