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:
|
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:
|
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"
]
}
}
}
}