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地址总个数。

  • 当Edition为smb时,取值范围为1 ~ 29。

  • 当Edition为enterprise时,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:一个实例支持同时防护IPv4和IPv6的资产。

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

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

CleanBandwidth

Integer

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

  • 当Edition为smb时,取值范围为50 ~ 1000Mbit/s。 

  • 当Edition为enterprise时,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。

示例

  • YAML格式

    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
                            
  • JSON格式

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