All Products
Search
Document Center

CloudOps Orchestration Service:ACS-BssOpenApi-SetRenewal

Last Updated:Dec 03, 2024

Template name

ACS-BssOpenApi-SetRenewal

Execute Now

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

ACS-BssOpenApi-SetRenewal

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