ALIYUN::ALB::AScript

ALIYUN::ALB::AScript类型用于创建可编程脚本。

语法

{
  "Type": "ALIYUN::ALB::AScript",
  "Properties": {
    "AScriptName": String,
    "ListenerId": String,
    "ScriptContent": String,
    "Enabled": Boolean,
    "ExtAttributeEnabled": Boolean,
    "ExtAttributes": List
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

AScriptName

String

可编程脚本名称。

长度为 2~128 个英文或中文字符,必须以大小写英文字母或中文开头,可包含数字,半角句号(.),下划线(_)和短划线(-)。

ListenerId

String

监听 ID。

ScriptContent

String

可编程脚本内容。

Enabled

Boolean

是否启用可编程脚本。

取值:

  • true:启用。

  • false(默认值):不启用。

ExtAttributeEnabled

Boolean

是否启用可编程脚本扩展属性。

取值:

  • true:启用。

  • false(默认值):不启用。

ExtAttributes

List

扩展属性

详情参考ExtAttributes属性

ExtAttributes语法

"ExtAttributes": [
  {
    "AttributeKey": String,
    "AttributeValue": String
  }
]

ExtAttributes属性

属性名称

类型

必须

允许更新

描述

约束

AttributeKey

String

Ascript 脚本的属性名称。

仅取值EsDebug:当请求携带_es_dbg 参数,且值为此处配置的密钥时,开启相应的调试响应头,以输出规则执行记录。

AttributeValue

String

Ascript 脚本的属性值。

大小写英文字母或数字,长度为 1~128 个字符。

返回值

Fn::GetAtt

AScriptId:可编程脚本 ID。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      ScriptContent:
        Type: String
        Description:
          en: The content of the AScript rule.
        Required: true
      AScriptName:
        Type: String
        Description:
          en: |-
            The name of the AScript rule.
            The name must be 2 to 128 character in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). It must start with a letter.
        AllowedPattern: ^[a-zA-Z][.-_a-zA-Z0-9]{1,127}$
        Required: true
      ListenerId:
        Type: String
        Description:
          en: The listener ID.
        Required: true
    Resources:
      AScript:
        Type: ALIYUN::ALB::AScript
        Properties:
          ScriptContent:
            Ref: ScriptContent
          AScriptName:
            Ref: AScriptName
          ListenerId:
            Ref: ListenerId
    Outputs:
      AScriptId:
        Description: The AScript rule ID.
        Value:
          Fn::GetAtt:
            - AScript
            - AScriptId
    
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "ScriptContent": {
          "Type": "String",
          "Description": {
            "en": "The content of the AScript rule."
          },
          "Required": true
        },
        "AScriptName": {
          "Type": "String",
          "Description": {
            "en": "The name of the AScript rule.\nThe name must be 2 to 128 character in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). It must start with a letter."
          },
          "AllowedPattern": "^[a-zA-Z][.-_a-zA-Z0-9]{1,127}$",
          "Required": true
        },
        "ListenerId": {
          "Type": "String",
          "Description": {
            "en": "The listener ID."
          },
          "Required": true
        }
      },
      "Resources": {
        "AScript": {
          "Type": "ALIYUN::ALB::AScript",
          "Properties": {
            "ScriptContent": {
              "Ref": "ScriptContent"
            },
            "AScriptName": {
              "Ref": "AScriptName"
            },
            "ListenerId": {
              "Ref": "ListenerId"
            }
          }
        }
      },
      "Outputs": {
        "AScriptId": {
          "Description": "The AScript rule ID.",
          "Value": {
            "Fn::GetAtt": [
              "AScript",
              "AScriptId"
            ]
          }
        }
      }
    }