ALIYUN::DNS::AccessStrategy

更新时间:
复制 MD 格式

The ALIYUN::DNS::AccessStrategy resource creates an access strategy.

Syntax

{
  "Type": "ALIYUN::DNS::AccessStrategy",
  "Properties": {
    "DefaultAddrPoolType": String,
    "DefaultMinAvailableAddrNum": Integer,
    "DefaultAddrPool": List,
    "InstanceId": String,
    "StrategyName": String,
    "StrategyMode": String,
    "AccessMode": String,
    "DefaultLatencyOptimization": String,
    "DefaultMaxReturnAddrNum": Integer,
    "DefaultLbaStrategy": String,
    "FailoverMinAvailableAddrNum": Integer,
    "FailoverAddrPoolType": String,
    "FailoverAddrPool": List,
    "FailoverLatencyOptimization": String,
    "FailoverLbaStrategy": String,
    "FailoverMaxReturnAddrNum": Integer,
    "Lines": List
  }
}

Properties

Parameter

Type

Required

Update allowed

Description

Constraints

DefaultAddrPool

List

Yes

Yes

The default address pool for the access strategy.

Length: 1 to 100. For more information, see DefaultAddrPool properties.

DefaultAddrPoolType

String

Yes

No

The type of the default address pool.

Allowed values:

  • IPV4

  • IPV6

  • DOMAIN

DefaultMinAvailableAddrNum

Integer

Yes

Yes

The minimum number of available addresses in the default address pool.

Range: 1 to 400.

InstanceId

String

Yes

No

The ID of the DNS instance.

None

StrategyMode

String

Yes

No

The mode of the access strategy.

Allowed values:

  • GEO: An access strategy based on geographic location.

  • LATENCY: An access strategy based on latency.

StrategyName

String

Yes

Yes

The name of the access strategy.

None

AccessMode

String

No

Yes

The access mode of the access strategy.

None

DefaultLatencyOptimization

String

No

Yes

Specifies whether to enable latency optimization for the default address pool.

Allowed values:

  • OPEN: enabled

  • CLOSE: disabled

DefaultLbaStrategy

String

No

Yes

The load balancing strategy for the default address pool.

Allowed values:

  • ALL_RR: Returns all available addresses in the address pool.

  • RATIO: Returns addresses based on their configured weights.

DefaultMaxReturnAddrNum

Integer

No

Yes

The maximum number of addresses to return from the default address pool.

Range: 1 to 8.

FailoverAddrPool

List

No

Yes

The failover address pool for the access strategy.

Length: 1 to 100.

For more information, see FailoverAddrPool properties.

FailoverAddrPoolType

String

No

Yes

The type of the failover address pool.

Allowed values:

  • IPV4

  • IPV6

  • DOMAIN

FailoverLatencyOptimization

String

No

Yes

Specifies whether to enable latency optimization for the failover address pool.

Allowed values:

  • OPEN: enabled

  • CLOSE: disabled

FailoverLbaStrategy

String

No

Yes

The load balancing strategy for the failover address pool.

Allowed values:

  • ALL_RR: Returns all available addresses in the address pool.

  • RATIO: Returns addresses based on their configured weights.

FailoverMaxReturnAddrNum

Integer

No

Yes

The maximum number of addresses to return from the failover address pool.

Range: 1 to 8.

FailoverMinAvailableAddrNum

Integer

No

Yes

The minimum number of available addresses in the failover address pool.

Range: 1 to 400.

Lines

List

No

Yes

The request source lines for the access strategy.

None

FailoverAddrPool syntax

"FailoverAddrPool": [
  {
    "LbaWeight": Integer,
    "Id": String
  }
]

FailoverAddrPool properties

Parameter

Type

Required

Update allowed

Description

Constraints

Id

String

No

No

The ID of the address pool.

None

LbaWeight

Integer

No

No

The load balancing weight of the address pool.

None

DefaultAddrPool syntax

"DefaultAddrPool": [
  {
    "LbaWeight": Integer,
    "Id": String
  }
]

DefaultAddrPool properties

Parameter

Type

Required

Update allowed

Description

Constraints

Id

String

No

No

The ID of the address pool.

None

LbaWeight

Integer

No

No

The load balancing weight of the address pool.

None

Return values

Fn::GetAtt

StrategyId: The ID of the access strategy.

Examples

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  DefaultAddrPoolType:
    Type: String
    Description: The type of the default address pool.
    AllowedValues:
      - IPV4
      - IPV6
      - DOMAIN
    Required: true
  InstanceId:
    Type: String
    Description: The ID of the DNS instance.
    Required: true
  DefaultMinAvailableAddrNum:
    Type: Number
    Description: The minimum number of available addresses in the default address pool.
    Required: true
    MinValue: 1
    MaxValue: 400
  DefaultAddrPool:
    AssociationPropertyMetadata:
      Parameters:
        LbaWeight:
          Type: Number
          Description: The load balancing weight of the address pool.
          Required: false
        Id:
          Type: String
          Description: The ID of the address pool.
          Required: false
    AssociationProperty: List[Parameters]
    Type: Json
    Description: The default address pool for the access strategy.
    Required: true
    MinLength: 1
    MaxLength: 100
  StrategyName:
    Type: String
    Description: The name of the access strategy.
    Required: true
  StrategyMode:
    Type: String
    Description: The mode of the access strategy.
    AllowedValues:
      - GEO
      - LATENCY
    Required: true
Resources:
  AccessStrategy:
    Type: ALIYUN::DNS::AccessStrategy
    Properties:
      DefaultAddrPoolType:
        Ref: DefaultAddrPoolType
      InstanceId:
        Ref: InstanceId
      DefaultMinAvailableAddrNum:
        Ref: DefaultMinAvailableAddrNum
      DefaultAddrPool:
        Ref: DefaultAddrPool
      StrategyName:
        Ref: StrategyName
      StrategyMode:
        Ref: StrategyMode
Outputs:
  StrategyId:
    Description: The ID of the access strategy.
    Value:
      Fn::GetAtt:
        - AccessStrategy
        - StrategyId
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "DefaultAddrPoolType": {
      "Type": "String",
      "Description": "The type of the default address pool.",
      "AllowedValues": [
        "IPV4",
        "IPV6",
        "DOMAIN"
      ],
      "Required": true
    },
    "InstanceId": {
      "Type": "String",
      "Description": "The ID of the DNS instance.",
      "Required": true
    },
    "DefaultMinAvailableAddrNum": {
      "Type": "Number",
      "Description": "The minimum number of available addresses in the default address pool.",
      "Required": true,
      "MinValue": 1,
      "MaxValue": 400
    },
    "DefaultAddrPool": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "LbaWeight": {
            "Type": "Number",
            "Description": "The load balancing weight of the address pool.",
            "Required": false
          },
          "Id": {
            "Type": "String",
            "Description": "The ID of the address pool.",
            "Required": false
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": "The default address pool for the access strategy.",
      "Required": true,
      "MinLength": 1,
      "MaxLength": 100
    },
    "StrategyName": {
      "Type": "String",
      "Description": "The name of the access strategy.",
      "Required": true
    },
    "StrategyMode": {
      "Type": "String",
      "Description": "The mode of the access strategy.",
      "AllowedValues": [
        "GEO",
        "LATENCY"
      ],
      "Required": true
    }
  },
  "Resources": {
    "AccessStrategy": {
      "Type": "ALIYUN::DNS::AccessStrategy",
      "Properties": {
        "DefaultAddrPoolType": {
          "Ref": "DefaultAddrPoolType"
        },
        "InstanceId": {
          "Ref": "InstanceId"
        },
        "DefaultMinAvailableAddrNum": {
          "Ref": "DefaultMinAvailableAddrNum"
        },
        "DefaultAddrPool": {
          "Ref": "DefaultAddrPool"
        },
        "StrategyName": {
          "Ref": "StrategyName"
        },
        "StrategyMode": {
          "Ref": "StrategyMode"
        }
      }
    }
  },
  "Outputs": {
    "StrategyId": {
      "Description": "The ID of the access strategy.",
      "Value": {
        "Fn::GetAtt": [
          "AccessStrategy",
          "StrategyId"
        ]
      }
    }
  }
}