All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::DDoS::OriginInstance

Last Updated:Apr 16, 2024

ALIYUN::DDoS::OriginInstance is used to create an Anti-DDoS Origin instance.

Syntax

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

Properties

Property

Type

Required

Editable

Description

Constraint

IpAddresses

Integer

No

No

The total number of IP addresses that you want to protect.

  • When Edition is set to smb, you must set IpAddresses to a value that ranges from 1 to 29.

  • When Edition is set to enterprise, you must set IpAddresses to a value that is at least 30.  

ChargeType

String

No

No

The billing method.

  • Valid values for the subscription billing method:

    Subscription, PrePaid, Prepaid, PrePay, PREPAY, and PRE.

  • Valid values for the pay-as-you-go billing method:

    PayAsYouGo, PostPaid, Postpaid, PostPay, POSTPAY, and POST.

Period

Integer

No

No

The subscription duration of the instance.

Valid values: 1 to 11.

Unit: month.

EnableLog

Boolean

No

No

Specifies whether to enable the mitigation log feature.

Valid values:

  • true

  • false

NetworkProtocol

String

No

No

The IP version of the instance.

Valid values:

  • v4: The instance can protect only IPv4 assets.

  • v6: The instance can protect only IPv6 assets.

  • v4_6: The instance can protect IPv4 and IPv6 assets.

Note
  • When Edition is set to smb, the instance can protect only IPv4 or IPv6 assets.

  • When Edition is set to enterprise, the instance can protect IPv4 and IPv6 assets.

CleanBandwidth

Integer

No

No

The average network bandwidth of the service that you want to protect.

  • Valid values when Edition is set to smb: 50 to 1000. Unit: Mbit/s.  

  • Valid values when Edition is set to enterprise: 100 to 1000. Unit: Mbit/s.  

Tags

List

No

Yes

The tags.

You can add up to 20 tags. For more information, see Tags properties.

Edition

String

Yes

No

The edition.

Valid values:

  • enterprise: Enterprise. You can use the edition if you have at least 30 assets that are assigned public IP addresses, the assets reside in multiple regions, and IPv4 addresses and IPv6 addresses are used for the assets.

  • smb: Inclusive Edition for Small and Medium Enterprises. You can use the edition if you have no more than 30 assets that are assigned public IP addresses, the assets reside in the same region, and no more than two attacks occur on the assets per month.

PeriodUnit

String

No

No

The unit of the subscription duration.

Valid values:

  • month

  • year

ProtectionMode

String

Yes

No

The protection mode.

Set the value to unlimited. A value of unlimited specifies the Unlimited protection mode and is suitable for internal use in enterprises.

Tags syntax

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

Tags properties

Property

Type

Required

Editable

Description

Constraint

Value

String

No

No

The tag value.

None.

Key

String

Yes

No

The tag key.

None.

Return values

Fn::GetAtt

InstanceId: the instance ID.

Examples

  • YAML format

    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 format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "IpAddresses": {
          "Type": "Number",
          "Description": {
            "en": "The total number of IP addresses that you want to protect.\nWhen Edition is set to smb, you must set IpAddresses to a value that ranges from 1 to 29.\nWhen Edition is set to enterprise, you must set IpAddresses to a value that is at least 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 average network bandwidth of the service that you want to protect.\nValid values when Edition is set to enterprise: 100 to 1000. Unit: Mbit/s. Valid values when Edition is set to smb: 50 to 1000. Unit: 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"
            ]
          }
        }
      }
    }