All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::DDoS::OriginInstance

Last Updated:Apr 17, 2025

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.

  • Valid values when Edition is set to smb: 1 to 29.

  • Valid values when Edition is set to enterprise: an integer larger than or equal to 30.  

ChargeType

String

No

No

The billing method.

Valid values:

  • 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, PayOnDemand, Postpaid, PostPay, POSTPAY, and POST.

Period

Integer

No

No

The billing cycle 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 more than 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 billing cycle of the instance.

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 that 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 value of the tag.

None.

Key

String

Yes

No

The key of the tag.

None.

Return values

Fn::GetAtt

  • InstanceId: the ID of the instance.

  • Arn: the Alibaba Cloud Resource Name (ARN).

Examples

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 total number of IP addresses that you want to protect.\nValid values when Edition is set to smb: 1 to 29.\nValid values when Edition is set to enterprise: an integer larger than or equal to 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"
        ]
      }
    }
  }
}