Template name
ACS-BssOpenApi-SetRenewal
Template description
Modifies auto renewal settings for resources.
Template type
Automated
Owner
Alibaba Cloud
Input parameters
Parameter | Description | Data type | Required | Default value | Limit |
resourceIds | The resource IDs. | List | Yes | ||
renewalPeriodUnit | The unit of the renewal period. | String | Yes | ||
renewalPeriod | The renewal period. | Number | Yes | ||
renewalStatus | The renewal status. | String | Yes | ||
productCode | The product code. | String | Yes | ||
regionId | The region ID. | String | No | {{ ACS::RegionId }} | |
OOSAssumeRole | The RAM role that is assumed by CloudOps Orchestration Service (OOS). | String | No | "" |
Output parameters
N/A.
Permission policy that is required to execute the template
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:RenewInstance"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"rds:RenewInstance"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"kvstore:RenewInstance"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"bssopenapi:RenewInstance",
"bssopenapi:SetRenewal"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
References
Template content
FormatVersion: OOS-2019-06-01
Description:
en: Modify resource auto renew attribute
name-en: ACS-BssOpenApi-SetRenewal
Parameters:
regionId:
Label:
en: RegionId
Type: String
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
resourceIds:
Label:
en: ResourceIds
Type: List
renewalPeriodUnit:
Label:
en: RenewalPeriodUnit
Type: String
AllowedValues:
- M
- Y
renewalPeriod:
Label:
en: RenewalPeriod
Type: Number
AllowedValues:
- 1
- 2
- 3
- 6
- 12
renewalStatus:
Label:
en: RenewalStatus
Description:
en: 'Valid values: AutoRenewal: Auto-renewal is enabled for the instance. Normal: Auto-renewal is disabled for the instance.'
Type: String
AllowedValues:
- AutoRenewal
- ManualRenewal
- NotRenewal
productCode:
Label:
en: Product code
Type: String
AllowedValues:
- ACS::Bastionhost::Instance
- ACS::CBWP::CommonBandwidthPackage
- ACS::ECS::Instance
- ACS::EIP::EipAddress
- ACS::MongoDB::DBInstance
- ACS::Redis::DBInstance
- ACS::ADB::DBCluster
- ACS::RDS::DBInstance
- ACS::PolarDB::DBCluster
- ACS::SLB::LoadBalancer
- ACS::DdosCoo::Instance
- ACS::CEN::CenBandwidthPackage
OOSAssumeRole:
Label:
en: OOSAssumeRole
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: RenewECSInstance
Action: 'ACS::ExecuteAPI'
When:
Fn::Equals:
- 'ACS::ECS::Instance'
- '{{ productCode }}'
Description:
en: Renew ECS instance
Properties:
Service: ECS
API: RenewInstance
Parameters:
RegionId: '{{regionId}}'
InstanceId: '{{ ACS::TaskLoopItem }}'
Period: '{{ renewalPeriod }}'
PeriodUnit: 'Month'
Loop:
Items: '{{ resourceIds }}'
- Name: RenewRDSInstance
Action: 'ACS::ExecuteAPI'
When:
Fn::Equals:
- 'ACS::RDS::DBInstance'
- '{{ productCode }}'
Description:
en: Renew RDS instance
Properties:
Service: RDS
API: RenewInstance
Parameters:
RegionId: '{{regionId}}'
DBInstanceId: '{{ ACS::TaskLoopItem }}'
Period: '{{ renewalPeriod }}'
Loop:
Items: '{{ resourceIds }}'
- Name: RenewREDISSInstance
Action: 'ACS::ExecuteAPI'
When:
Fn::Equals:
- 'ACS::Redis::DBInstance'
- '{{ productCode }}'
Description:
en: Renew REDIS instance
Properties:
Service: R-KVSTORE
API: RenewInstance
Parameters:
RegionId: '{{regionId}}'
InstanceId: '{{ ACS::TaskLoopItem }}'
Period: '{{ renewalPeriod }}'
Loop:
Items: '{{ resourceIds }}'
- Name: RenewInstance
Action: ACS::ExecuteAPI
When:
Fn::Not:
Fn::Jq:
- First
- 'contains(["{{productCode}}"])'
- [ "ACS::ECS::Instance", "ACS::RDS::DBInstance", "ACS::Redis::DBInstance" ]
Description:
en: Renew instance
Properties:
Service: BssOpenApi
API: RenewInstance
Parameters:
RegionId: '{{ regionId }}'
InstanceId: '{{ ACS::TaskLoopItem }}'
RenewPeriod: '{{ renewalPeriod }}'
ProductCode:
Fn::Select:
- '{{ productCode }}'
- ACS::CBWP::CommonBandwidthPackage: cbwp
ACS::Bastionhost::Instance: bastionhost
ACS::EIP::EipAddress: eip
ACS::MongoDB::DBInstance: dds
ACS::ADB::DBCluster: ads
ACS::PolarDB::DBCluster: polardb
ACS::SLB::LoadBalancer: slb
ACS::DdosCoo::Instance: ddos
ACS::CEN::CenBandwidthPackage: cbn
ProductType:
Fn::Select:
- '{{ productCode }}'
- ACS::CBWP::CommonBandwidthPackage: ''
ACS::Bastionhost::Instance: bastionhost
ACS::ECS::Instance: ''
ACS::EIP::EipAddress: ''
ACS::MongoDB::DBInstance: ''
ACS::Redis::DBInstance: ''
ACS::ADB::DBCluster: ''
ACS::RDS::DBInstance: rds
ACS::PolarDB::DBCluster: online
ACS::SLB::LoadBalancer: ''
ACS::DdosCoo::Instance: 'ddoscoo'
ACS::CEN::CenBandwidthPackage: 'cbn_bwp_pre'
Loop:
Items: '{{ resourceIds }}'
- Name: ModifyInstanceRenewAttribute
Action: ACS::ExecuteAPI
Description:
en: Modify renew attribute of instance
Properties:
Service: BssOpenApi
API: SetRenewal
Parameters:
RegionId: '{{ regionId }}'
InstanceIDs:
Fn::Join:
- ','
- '{{ resourceIds }}'
RenewalStatus: '{{ renewalStatus }}'
RenewalPeriod: '{{ renewalPeriod }}'
RenewalPeriodUnit: '{{ renewalPeriodUnit }}'
ProductCode:
Fn::Select:
- '{{ productCode }}'
- ACS::CBWP::CommonBandwidthPackage: cbwp
ACS::Bastionhost::Instance: bastionhost
ACS::ECS::Instance: ecs
ACS::EIP::EipAddress: eip
ACS::MongoDB::DBInstance: dds
ACS::Redis::DBInstance: redisa
ACS::ADB::DBCluster: ads
ACS::RDS::DBInstance: rds
ACS::PolarDB::DBCluster: polardb
ACS::SLB::LoadBalancer: slb
ACS::DdosCoo::Instance: ddos
ACS::CEN::CenBandwidthPackage: cbn
ProductType:
Fn::Select:
- '{{ productCode }}'
- ACS::CBWP::CommonBandwidthPackage: ''
ACS::Bastionhost::Instance: bastionhost
ACS::ECS::Instance: ''
ACS::EIP::EipAddress: ''
ACS::MongoDB::DBInstance: ''
ACS::Redis::DBInstance: ''
ACS::ADB::DBCluster: ''
ACS::RDS::DBInstance: rds
ACS::PolarDB::DBCluster: online
ACS::SLB::LoadBalancer: ''
ACS::DdosCoo::Instance: 'ddoscoo'
ACS::CEN::CenBandwidthPackage: 'cbn_bwp_pre'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- regionId
- productCode
- resourceIds
Label:
default:
en: Select Resource
- Parameters:
- renewalPeriodUnit
- renewalPeriod
- renewalStatus
Label:
default:
en: Configure Parameters
- Parameters:
- OOSAssumeRole
Label:
default:
en: Control Options