All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::DNS::Instance

Last Updated:Mar 14, 2024

ALIYUN::DNS::Instance is used to create an Alibaba Cloud DNS instance.

Syntax

{
  "Type": "ALIYUN::DNS::Instance",
  "Properties": {
    "DomainNumbers": Integer,
    "DNSSecurity": String,
    "Version": String,
    "RenewalStatus": String,
    "Period": Integer,
    "Domain": String,
    "InstanceType": String,
    "PeriodUnit": String
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

DomainNumbers

Integer

Yes

No

The number of domain names.

Valid values: 1 to 100.

DNSSecurity

String

Yes

No

The level of DNS protection.

Valid values:

  • no: DNS protection is not provided.

  • basic: Basic DNS attack defense is provided.

  • advanced: Advanced DNS attack defense is provided.

Version

String

Yes

Yes

The edition of Alibaba Cloud DNS.

Valid values:

  • version_personal

  • version_enterprise_basic

  • version_enterprise_advanced

  • version_cached_basic

Note

Only upgrade is available for existing instances.  

RenewalStatus

String

No

No

The renewal method.

Valid values:

  • AutoRenewal  

  • ManualRenewal  

Period

Integer

Yes

No

The auto-renewal period.

Valid values if you set the PeriodUnit property to Year: 1, 2, and 3.

Valid values if you set the PeriodUnit property to Month: 1, 2, 3, and 6.

Domain

String

No

No

The domain name that you want to bind to the instance.

Separate multiple domain names with commas (,).  

InstanceType

String

No

No

The type of the instance.

Valid values:

  • HostedPublicZone

  • CachedPublicZone

PeriodUnit

String

Yes

No

The unit of the auto-renewal period.

Valid values:

  • Year

  • Month

Return values

Fn::GetAtt

InstanceId: the ID of the DNS instance.

Examples

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      DNSSecurity:
        AllowedValues:
        - 'no'
        - basic
        - advanced
        Description:
          en: 'The DNS security policy. Valid values:
    
            - no: No protection against DNS attacks is provided.
    
            - basic: Basic protection against DNS attacks is provided.
    
            - advanced: Advanced protection against DNS attacks is provided.'
        Required: true
        Type: String
      Domain:
        Description:
          en: The domain name that you want to bind to the instance. If you want to bind
            multiple domain names to the instance, separate these domain names with commas
            (,).
        Required: false
        Type: String
      DomainNumbers:
        Description:
          en: The number of domain names.
        MaxValue: 100
        MinValue: 1
        Required: true
        Type: Number
      InstanceType:
        AllowedValues:
        - HostedPublicZone
        - CachedPublicZone
        Default: HostedPublicZone
        Description:
          en: 'The type of the instance. Valid values:
    
            - HostedPublicZone: Hosted Public Zone
    
            - CachedPublicZone: Cached Public Zone.'
        Required: false
        Type: String
      Period:
        AllowedValues:
        - 1
        - 2
        - 3
        - 6
        AssociationProperty: PayPeriod
        Description:
          en: 'The subscription duration. Valid values:
    
            - If unit is month: 1, 2, 3, 6
    
            - If unit is year: 1, 2, 3'
        Required: true
        Type: Number
      PeriodUnit:
        AllowedValues:
        - Year
        - Month
        AssociationProperty: PayPeriodUnit
        Description:
          en: The subscription duration unit.
        Required: true
        Type: String
      RenewalStatus:
        AllowedValues:
        - AutoRenewal
        - ManualRenewal
        Default: ManualRenewal
        Description:
          en: 'The renewal method. Valid values:
    
            - AutoRenewal: The instance is automatically renewed.
    
            - ManualRenewal: The instance is manually renewed.
    
            Default value: ManualRenewal.'
        Required: false
        Type: String
      Version:
        AllowedValues:
        - version_personal
        - version_enterprise_basic
        - version_enterprise_advanced
        - version_cached_basic
        Description:
          en: "The edition of Alibaba Cloud DNS. Valid values:\nIf create hosted public\
            \ zone:\n- version_personal: Personal Edition. \n- version_enterprise_basic:\
            \ Enterprise Standard Edition. \n- version_enterprise_advanced: Enterprise\
            \ Ultimate Edition.\nIf create cached public zone:\n- version_cached_basic**Note**:\
            \ Only upgrade operations are supported after instance creation."
        Required: true
        Type: String
    Resources:
      Instance:
        Properties:
          DNSSecurity:
            Ref: DNSSecurity
          Domain:
            Ref: Domain
          DomainNumbers:
            Ref: DomainNumbers
          InstanceType:
            Ref: InstanceType
          Period:
            Ref: Period
          PeriodUnit:
            Ref: PeriodUnit
          RenewalStatus:
            Ref: RenewalStatus
          Version:
            Ref: Version
        Type: ALIYUN::DNS::Instance
    Outputs:
      InstanceId:
        Description: DNS instance id.
        Value:
          Fn::GetAtt:
          - Instance
          - InstanceId
                            
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "DomainNumbers": {
          "Type": "Number",
          "Description": {
            "en": "The number of domain names."
          },
          "Required": true,
          "MinValue": 1,
          "MaxValue": 100
        },
        "DNSSecurity": {
          "Type": "String",
          "Description": {
            "en": "The DNS security policy. Valid values:\n- no: No protection against DNS attacks is provided.\n- basic: Basic protection against DNS attacks is provided.\n- advanced: Advanced protection against DNS attacks is provided."
          },
          "AllowedValues": [
            "no",
            "basic",
            "advanced"
          ],
          "Required": true
        },
        "Version": {
          "Type": "String",
          "Description": {
            "en": "The edition of Alibaba Cloud DNS. Valid values:\nIf create hosted public zone:\n- version_personal: Personal Edition. \n- version_enterprise_basic: Enterprise Standard Edition. \n- version_enterprise_advanced: Enterprise Ultimate Edition.\nIf create cached public zone:\n- version_cached_basic**Note**: Only upgrade operations are supported after instance creation."
          },
          "AllowedValues": [
            "version_personal",
            "version_enterprise_basic",
            "version_enterprise_advanced",
            "version_cached_basic"
          ],
          "Required": true
        },
        "RenewalStatus": {
          "Type": "String",
          "Description": {
            "en": "The renewal method. Valid values:\n- AutoRenewal: The instance is automatically renewed.\n- ManualRenewal: The instance is manually renewed.\nDefault value: ManualRenewal."
          },
          "AllowedValues": [
            "AutoRenewal",
            "ManualRenewal"
          ],
          "Required": false,
          "Default": "ManualRenewal"
        },
        "Period": {
          "AssociationProperty": "PayPeriod",
          "Type": "Number",
          "Description": {
            "en": "The subscription duration. Valid values:\n- If unit is month: 1, 2, 3, 6\n- If unit is year: 1, 2, 3"
          },
          "AllowedValues": [
            1,
            2,
            3,
            6
          ],
          "Required": true
        },
        "Domain": {
          "Type": "String",
          "Description": {
            "en": "The domain name that you want to bind to the instance. If you want to bind multiple domain names to the instance, separate these domain names with commas (,)."
          },
          "Required": false
        },
        "InstanceType": {
          "Type": "String",
          "Description": {
            "en": "The type of the instance. Valid values:\n- HostedPublicZone: Hosted Public Zone\n- CachedPublicZone: Cached Public Zone."
          },
          "AllowedValues": [
            "HostedPublicZone",
            "CachedPublicZone"
          ],
          "Required": false,
          "Default": "HostedPublicZone"
        },
        "PeriodUnit": {
          "AssociationProperty": "PayPeriodUnit",
          "Type": "String",
          "Description": {
            "en": "The subscription duration unit."
          },
          "AllowedValues": [
            "Year",
            "Month"
          ],
          "Required": true
        }
      },
      "Resources": {
        "Instance": {
          "Type": "ALIYUN::DNS::Instance",
          "Properties": {
            "DomainNumbers": {
              "Ref": "DomainNumbers"
            },
            "DNSSecurity": {
              "Ref": "DNSSecurity"
            },
            "Version": {
              "Ref": "Version"
            },
            "RenewalStatus": {
              "Ref": "RenewalStatus"
            },
            "Period": {
              "Ref": "Period"
            },
            "Domain": {
              "Ref": "Domain"
            },
            "InstanceType": {
              "Ref": "InstanceType"
            },
            "PeriodUnit": {
              "Ref": "PeriodUnit"
            }
          }
        }
      },
      "Outputs": {
        "InstanceId": {
          "Description": "DNS instance id.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "InstanceId"
            ]
          }
        }
      }
    }