All Products
Search
Document Center

CloudOps Orchestration Service:ACS-ApiGateway-BulkyAbolishApi

Last Updated:Nov 26, 2024

Template name

ACS-ApiGateway-BulkyAbolishApi

Execute Now

Template description

Unpublishes an API operation from a runtime environment.

Template type

Automated

Owner

Alibaba Cloud

Input parameters

Parameter

Description

Data type

Required

Default value

Limit

instanceId

The ID of the API Gateway instance.

String

Yes

regionId

The region ID.

String

No

{{ ACS::RegionId }}

rateControl

The rate control settings.

Json

No

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

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": [
                "cloudapi:AbolishApi",
                "cloudapi:DescribeApi"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

References

ACS-ApiGateway-BulkyAbolishApi

Template content

FormatVersion: OOS-2019-06-01
Description:
  en: Abolishing a specified API in a specified stage  
  name-en: ACS-ApiGateway-BulkyAbolishApi   
  categories:
    - security
Parameters:
  regionId:
    Label:
      en: RegionId       
    Type: String
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  instanceId:
    Label:
      en: InstanceId       
    Type: String
  rateControl:
    Label:
      en: RateControl       
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole      
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: describeApi
    Action: ACS::ExecuteAPI
    Description:
      en: Query stage and groupid of the apigateway instance      
    Properties:
      Service: CLOUDAPI
      API: DescribeApi
      Parameters:
        RegionId: '{{ regionId }}'
        ApiId: '{{ instanceId }}'
    Outputs:
      stageName:
        Type: List
        ValueSelector: '.DeployedInfos.DeployedInfo[].StageName'
      groupId:
        Type: String
        ValueSelector: '.GroupId'
  - Name: abolishApi
    Action: ACS::ExecuteAPI
    Description:
      en: Abolishing a specified API in a specified stage.     
    Properties:
      Service: CLOUDAPI
      API: AbolishApi
      Parameters:
        RegionId: '{{ regionId }}'
        ApiId: '{{ instanceId }}'
        GroupId: '{{ describeApi.groupId }}'
        StageName: '{{ ACS::TaskLoopItem }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ describeApi.stageName }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - regionId
          - instanceId
        Label:
          default:            
            en: Select instance
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:             
            en: Control Options