All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::APIG::PluginClass

更新时间:Jan 07, 2025

ALIYUN::APIG::PluginClass is used to create a plug-in class.

Syntax

{
  "Type": "ALIYUN::APIG::PluginClass",
  "Properties": {
    "Description": String,
    "ExecutePriority": Integer,
    "ExecuteStage": String,
    "PluginClassName": String,
    "VersionDescription": String,
    "Version": String,
    "WasmUrl": String,
    "WasmLanguage": String,
    "Alias": String,
    "SupportedMinGatewayVersion": String
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

Description

String

Yes

No

The description of the plug-in class.

None.

ExecutePriority

Integer

Yes

No

The execution priority of the plug-in.

None.

ExecuteStage

String

Yes

No

The execution stage.

Valid values:

  • UNSPECIFIED_PHASE

  • AUTHN

  • AUTHZ

  • STATS

PluginClassName

String

Yes

No

The name of the plug-in class.

None.

VersionDescription

String

Yes

No

The description of the version.

None.

Version

String

Yes

No

The version of the plug-in class.

None.

WasmUrl

String

Yes

No

The URL of WebAssembly (Wasm).

None.

WasmLanguage

String

Yes

No

The programming language that is supported by Wasm.

Valid values:

  • Cpp

  • TinyGo

  • Rust

  • AssemblyScript

  • Zig

Alias

String

No

No

The alias of the plug-in class.

None.

SupportedMinGatewayVersion

String

No

No

The earliest gateway version that is supported.

None.

Return values

Fn::GetAtt

  • Type: the type of the plug-in class.

  • Description: the description of the plug-in class.

  • PluginClassName: the name of the plug-in class.

  • Alias: the alias of the plug-in class.

  • WasmLanguage: the programming language that is supported by Wasm.

  • Document: the documentation of the plug-in.

Examples

ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
  ExtensionResource:
    Type: ALIYUN::APIG::PluginClass
    Properties:
      VersionDescription: desc
      ExecutePriority: 1
      Description: desc
      WasmLanguage: TinyGo
      Version: 1.0.0
      WasmUrl: https://apigw-console-cn-hangzhou-user-oss.oss-cn-hangzhou.aliyuncs.com/xxxxxx
      PluginClassName: test
      ExecuteStage: UNSPECIFIED_PHASE
Outputs:
  Type:
    Description: The type of the plugin class.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Type
  Description:
    Description: The description of the plugin class.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Description
  PluginClassName:
    Description: The name of the plugin class.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - PluginClassName
  Alias:
    Description: The alias of the plugin class.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Alias
  WasmLanguage:
    Description: Wasm language.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - WasmLanguage
  Document:
    Description: The document of plugin.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Document
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::APIG::PluginClass",
      "Properties": {
        "VersionDescription": "desc",
        "ExecutePriority": 1,
        "Description": "desc",
        "WasmLanguage": "TinyGo",
        "Version": "1.0.0",
        "WasmUrl": "https://apigw-console-cn-hangzhou-user-oss.oss-cn-hangzhou.aliyuncs.com/xxxxxx",
        "PluginClassName": "test",
        "ExecuteStage": "UNSPECIFIED_PHASE"
      }
    }
  },
  "Outputs": {
    "Type": {
      "Description": "The type of the plugin class.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Type"
        ]
      }
    },
    "Description": {
      "Description": "The description of the plugin class.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Description"
        ]
      }
    },
    "PluginClassName": {
      "Description": "The name of the plugin class.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "PluginClassName"
        ]
      }
    },
    "Alias": {
      "Description": "The alias of the plugin class.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Alias"
        ]
      }
    },
    "WasmLanguage": {
      "Description": "Wasm language.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "WasmLanguage"
        ]
      }
    },
    "Document": {
      "Description": "The document of plugin.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Document"
        ]
      }
    }
  }
}