ALIYUN::APIG::PluginClass

ALIYUN::APIG::PluginClass类型用于创建插件类。

语法

{
  "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
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

Description

String

插件类的描述。

ExecutePriority

Integer

插件的执行优先级。

ExecuteStage

String

执行阶段。

取值:

  • UNSPECIFIED_PHASE

  • AUTHN

  • AUTHZ

  • STATS

PluginClassName

String

插件类名称。

VersionDescription

String

描述的版本。

Version

String

插件类的版本。

WasmUrl

String

wasm url。

WasmLanguage

String

wasm支持的语言。

取值:

  • Cpp

  • TinyGo

  • Rust

  • AssemblyScript

  • Zig

Alias

String

插件类的别名。

SupportedMinGatewayVersion

String

支持网关的最低版本。

返回值

Fn::GetAtt

  • Type:插件类的类型。

  • Description:插件类的描述。

  • PluginClassName:插件类的名称。

  • Alias:插件类的别名。

  • WasmLanguage:wasm支持的语言。

  • 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
{
  "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"
        ]
      }
    }
  }
}