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地址总个数。 | 
 | 
| ChargeType | String | 否 | 否 | 付费类型。 | 取值: 
 | 
| Period | Integer | 否 | 否 | 实例的购买周期时长。 | 取值范围:1~11。 单位:月。 | 
| EnableLog | Boolean | 否 | 否 | 是否开启保护日志。 | 取值: 
 | 
| NetworkProtocol | String | 否 | 否 | 原生防护实例支持防护的IP协议类型。 | 取值: 
 说明  
 | 
| CleanBandwidth | Integer | 否 | 否 | 要防护业务的正常业务规模(以网络带宽来衡量)。 | 
 | 
| Tags | List | 否 | 是 | 标签列表。 | 最多支持20个标签,更多信息,请参见Tags属性。 | 
| Edition | String | 是 | 否 | 版本。 | 取值: 
 | 
| PeriodUnit | String | 否 | 否 | 实例的购买周期单位。 | 取值: 
 | 
| 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"
        ]
      }
    }
  }
}