ALIYUN::DDoS::OriginInstance

ALIYUN::DDoS::OriginInstance类型用于购买DDoS原生防护实例。

语法

{
  "Type": "ALIYUN::DDoS::OriginInstance",
  "Properties": {
    "IpAddresses": Integer,
    "ChargeType": String,
    "Period": Integer,
    "EnableLog": Boolean,
    "NetworkProtocol": String,
    "CleanBandwidth": Integer,
    "Tags": List,
    "Edition": String,
    "PeriodUnit": String,
    "ProtectionMode": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

IpAddresses

Integer

要防护的IP地址总个数。

  • Editionsmb时,取值范围为1 ~ 29。

  • Editionenterprise时,IP地址最少为30个。 

ChargeType

String

付费类型。

取值:

  • 包年包月。

    您可以通过下列形式定义包年包月类型:Subscription、PrePaid、Prepaid、PrePay、PREPAY、PRE。

  • 按量付费。

    您可以通过下列形式定义按量付费类型:PayAsYouGo、PostPaid、PayOnDemand、Postpaid、PostPay、POSTPAY、POST。

Period

Integer

实例的购买周期时长。

取值范围:1~11。

单位:月。

EnableLog

Boolean

是否开启保护日志。

取值:

  • true:开启保护日志。

  • false:关闭保护日志。

NetworkProtocol

String

原生防护实例支持防护的IP协议类型。

取值:

  • v4:一个实例仅支持IPv4防护。

  • v6:一个实例仅支持IPv6防护。

  • v4_6:一个实例支持同时防护IPv4IPv6的资产。

说明
  • 中小企业普惠版:一个实例仅支持防护一种资产,IPv4IPv6。

  • 企业版:一个实例支持同时防护IPv4IPv6的资产。

CleanBandwidth

Integer

要防护业务的正常业务规模(以网络带宽来衡量)。

  • Editionsmb时,取值范围为50 ~ 1000Mbit/s。 

  • Editionenterprise时,IP地址最少为100 ~ 1000Mbit/s。 

Tags

List

标签列表。

最多支持20个标签,更多信息,请参见Tags属性

Edition

String

版本。

取值:

  • enterprise:企业版实例,如果您的公网IP资产分布在多个地域、IP数量超过30个、资产IP的网络协议类型既有IPv4又有IPv6,您可以选择该实例。

  • smb:中小企业普惠版实例,如果您的公网IP资产在同一个地域、IP数量在30个以内、且每月被攻击的次数不超过2次,您可以选择该实例。

PeriodUnit

String

实例的购买周期单位。

取值:

  • month

  • year

ProtectionMode

String

防护模式。

取值:unlimited,无限保护模式适用于企业内部使用 。

Tags语法

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags属性

属性名称

类型

必须

允许更新

描述

约束

Value

String

标签的值。

Key

String

标签的键。

返回值

Fn::GetAtt

  • InstanceId:实例ID。

  • Arn:阿里云资源名称。

示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ChargeType:
    AllowedValues:
    - PayAsYouGo
    - Subscription
    Description:
      en: 'The charge type of the instance. Valid values:

        PostPaid: Pay-as-you-go.

        PrePaid: Subscription.'
    Required: false
    Type: String
  CleanBandwidth:
    Description:
      en: "The mitigation capability of Anti-DDoS is measured by the inbound or outbound\
        \ clean bandwidth.\nWhen Edition is enterprise, CleanBandwidth ranges from\
        \ 100 to 1000 Mbit/s.When Edition is smb\uFF0C CleanBandwidth ranges from\
        \ 50 to 1000 Mbit/s."
    MaxValue: 1000
    MinValue: 50
    Required: false
    Type: Number
  Edition:
    AllowedValues:
    - enterprise
    - smb
    Description:
      en: "Edition of the instance. Valid values:\n - enterprise: Enterprise Edition.\n\
        - smb: Affordable and general edition for small and medium-sized enterprises."
    Required: true
    Type: String
  EnableLog:
    Description:
      en: Whether to enable protection logs.
    Required: false
    Type: Boolean
  IpAddresses:
    Description:
      en: "The number of ip addresses.\nWhen Edition is smb\uFF0C IP Addresses ranges\
        \ from 1 to 29.\nWhen Edition is enterprise, The minimum number of IP Addresses\
        \ is 30."
    MinValue: 1
    Required: false
    Type: Number
  NetworkProtocol:
    AllowedValues:
    - v4
    - v6
    - v4_6
    Description:
      en: 'The network protocol of the instance. Valid values:

        v4: IPv4.

        v6: IPv6.

        v4_6: IPv4+IPv6.'
    Required: false
    Type: String
  Period:
    AssociationProperty: PayPeriod
    Description:
      en: The period of the instance.
    MaxValue: 11
    MinValue: 1
    Required: false
    Type: Number
  PeriodUnit:
    AllowedValues:
    - Month
    - Year
    - month
    - year
    AssociationProperty: PayPeriodUnit
    Description:
      en: 'The period unit of the instance. Valid values:

        Month: Month.

        Year: Year.'
    Required: false
    Type: String
  ProtectionMode:
    Description:
      en: 'The mode of the protection. Valid values:

        unlimited: The Unlimited protection mode is intended for internal use within
        enterprises.'
    Required: true
    Type: String
  Tags:
    AssociationProperty: List[Parameters]
    AssociationPropertyMetadata:
      ListMetadata:
        Order:
        - Key
        - Value
      Parameters:
        Key:
          Required: true
          Type: String
        Value:
          Required: false
          Type: String
    Description:
      en: Tags to attach to instance. Max support 20 tags to add during create instance.
        Each tag with two properties Key and Value, and Key is required.
    MaxLength: 20
    Required: false
    Type: Json
Resources:
  Instance:
    Properties:
      ChargeType:
        Ref: ChargeType
      CleanBandwidth:
        Ref: CleanBandwidth
      Edition:
        Ref: Edition
      EnableLog:
        Ref: EnableLog
      IpAddresses:
        Ref: IpAddresses
      NetworkProtocol:
        Ref: NetworkProtocol
      Period:
        Ref: Period
      PeriodUnit:
        Ref: PeriodUnit
      ProtectionMode:
        Ref: ProtectionMode
      Tags:
        Ref: Tags
    Type: ALIYUN::DDoS::OriginInstance
Outputs:
  InstanceId:
    Description: The ID of the instance.
    Value:
      Fn::GetAtt:
      - Instance
      - InstanceId
                        
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "IpAddresses": {
      "Type": "Number",
      "Description": {
        "en": "The number of ip addresses.\nWhen Edition is smb, IP Addresses ranges from 1 to 29.\nWhen Edition is enterprise, The minimum number of IP Addresses is 30."
      },
      "Required": false,
      "MinValue": 1
    },
    "ChargeType": {
      "Type": "String",
      "Description": {
        "en": "The charge type of the instance. Valid values:\nPostPaid: Pay-as-you-go.\nPrePaid: Subscription."
      },
      "AllowedValues": [
        "PayAsYouGo",
        "Subscription"
      ],
      "Required": false
    },
    "Period": {
      "AssociationProperty": "PayPeriod",
      "Type": "Number",
      "Description": {
        "en": "The period of the instance."
      },
      "Required": false,
      "MinValue": 1,
      "MaxValue": 11
    },
    "EnableLog": {
      "Type": "Boolean",
      "Description": {
        "en": "Whether to enable protection logs."
      },
      "Required": false
    },
    "NetworkProtocol": {
      "Type": "String",
      "Description": {
        "en": "The network protocol of the instance. Valid values:\nv4: IPv4.\nv6: IPv6.\nv4_6: IPv4+IPv6."
      },
      "AllowedValues": [
        "v4",
        "v6",
        "v4_6"
      ],
      "Required": false
    },
    "CleanBandwidth": {
      "Type": "Number",
      "Description": {
        "en": "The mitigation capability of Anti-DDoS is measured by the inbound or outbound clean bandwidth.\nWhen Edition is enterprise, CleanBandwidth ranges from 100 to 1000 Mbit/s.When Edition is smb, CleanBandwidth ranges from 50 to 1000 Mbit/s."
      },
      "Required": false,
      "MinValue": 50,
      "MaxValue": 1000
    },
    "Tags": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "Value": {
            "Type": "String",
            "Required": false
          },
          "Key": {
            "Type": "String",
            "Required": true
          }
        },
        "ListMetadata": {
          "Order": [
            "Key",
            "Value"
          ]
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required."
      },
      "Required": false,
      "MaxLength": 20
    },
    "Edition": {
      "Type": "String",
      "Description": {
        "en": "Edition of the instance. Valid values:\n - enterprise: Enterprise Edition.\n- smb: Affordable and general edition for small and medium-sized enterprises."
      },
      "AllowedValues": [
        "enterprise",
        "smb"
      ],
      "Required": true
    },
    "PeriodUnit": {
      "AssociationProperty": "PayPeriodUnit",
      "Type": "String",
      "Description": {
        "en": "The period unit of the instance. Valid values:\nMonth: Month.\nYear: Year."
      },
      "AllowedValues": [
        "Month",
        "Year",
        "month",
        "year"
      ],
      "Required": false
    },
    "ProtectionMode": {
      "Type": "String",
      "Description": {
        "en": "The mode of the protection. Valid values:\nunlimited: The Unlimited protection mode is intended for internal use within enterprises."
      },
      "Required": true
    }
  },
  "Resources": {
    "Instance": {
      "Type": "ALIYUN::DDoS::OriginInstance",
      "Properties": {
        "IpAddresses": {
          "Ref": "IpAddresses"
        },
        "ChargeType": {
          "Ref": "ChargeType"
        },
        "Period": {
          "Ref": "Period"
        },
        "EnableLog": {
          "Ref": "EnableLog"
        },
        "NetworkProtocol": {
          "Ref": "NetworkProtocol"
        },
        "CleanBandwidth": {
          "Ref": "CleanBandwidth"
        },
        "Tags": {
          "Ref": "Tags"
        },
        "Edition": {
          "Ref": "Edition"
        },
        "PeriodUnit": {
          "Ref": "PeriodUnit"
        },
        "ProtectionMode": {
          "Ref": "ProtectionMode"
        }
      }
    }
  },
  "Outputs": {
    "InstanceId": {
      "Description": "The ID of the instance.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceId"
        ]
      }
    }
  }
}