Template name
ACS-RDS-BulkyEnableBackupLogPolicy Enables log backups for multiple RDS instances
Template description
Configures the log backup settings in the backup policy of ApsaraDB RDS instances.
Template type
Automated
Owner
Alibaba Cloud
Input parameters
Parameter | Description | Data type | Required | Default value | Limit |
OOSAssumeRole | The RAM role to be assumed by Operation Orchestration Service (OOS). | String | Yes | ||
regionId | The ID of the region. | String | No | {{ ACS::RegionId }} | |
rateControl | Task execution concurrency | Json | No | {'Type': 'ResourceIds', 'ResourceIds': [], 'RegionId': '{{ regionId }}'} | |
instanceIds | The list of instance IDs. | List | No | [] | |
rateControl | The concurrency rate for task execution. | Json | No | {'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} |
Output parameters
N/A.
Permission policy that is required to execute the template
{
"Version": "1",
"Statement": [
{
"Action": [
"rds:DescribeDBInstances",
"rds:ModifyBackupPolicy"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Details
ACS-RDS-BulkyEnableBackupLogPolicy
Template content
FormatVersion: OOS-2019-06-01
Description:
en: Enables log backups for RDS instances.
name-en: ACS-RDS-BulkyEnableBackupLogPolicy
categories:
- security
- rds
Parameters:
regionId:
Label:
en: RegionId
Type: String
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: TargetInstance
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::RDS::Instance
RegionId: regionId
Default:
Type: ResourceIds
ResourceIds: []
RegionId: '{{ regionId }}'
instanceIds:
Label:
en: The IDs of the RDS instances
Type: List
Default: []
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Equals:
- ${targets}
- {}
rateControl:
Label:
en: RateControl
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
Type: String
RamRole: '{{ OOSAssumeRole }}'
Conditions:
instanceId:
Fn::Equals:
- '{{ instanceIds }}'
- []
Tasks:
- Name: getInstance
When: instanceId
Description:
en: Gets the RDS instances.
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::RDS::Instance
RegionId: '{{regionId}}'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[].InstanceId
- Name: enableBackupPolicyForLog
Action: ACS::ExecuteAPI
Description:
en: Enables the log backup setting for the instance backup policy.
Properties:
Service: RDS
API: ModifyBackupPolicy
Parameters:
RegionId: '{{ regionId }}'
DBInstanceId: '{{ ACS::TaskLoopItem }}'
BackupPolicyMode: LogBackupPolicy
EnableBackupLog: '1'
Loop:
RateControl: '{{ rateControl }}'
Items:
Fn::If:
- Fn::Equals:
- '{{instanceIds}}'
- []
- '{{ getInstance.instanceIds }}'
- '{{ instanceIds}}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- regionId
- instanceIds
- targets
Label:
default:
en: Select Instances
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
en: Advanced Options