ALIYUN::CLOUDFW::AddressBook is used to create access control address books. Access control address books include IP address books, Elastic Compute Service (ECS) tag address books, port address books, and domain address books.

Syntax

{
  "Type": "ALIYUN::CLOUDFW::AddressBook",
  "Properties": {
    "GroupType": String,
    "AutoAddTagEcs": Boolean,
    "Description": String,
    "TagRelation": String,
    "RegionId": String,
    "GroupName": String,
    "AddressList": String,
    "TagList": List
  }
}

Properties

Name Type Required Editable Description Validity
GroupType String Yes No The type of the address book. Valid values:
  • IP: IP address book.
  • domain: domain address book.
  • port: port address book.
  • tag: ECS tag address book.
AutoAddTagEcs Boolean No Yes Specifies whether to add ECS public IP addresses to the address book automatically if they match specified tags. Valid values:
  • true
  • false
Description String Yes Yes The description of the address book. None.
TagRelation String No Yes The logical relation among multiple to-match ECS tags. Valid values:
  • and: Only the ECS public IP addresses that match many of the specified tags can be added to the address book.
  • or: ECS public IP addresses that match any of the specified tags can be added to the address book.
RegionId String No No The region ID. Default value: cn-hangzhou. Valid values:
  • cn-hangzhou
  • ap-southeast-1
GroupName String Yes No The name of the address book. None.
AddressList String No Yes The address list of the address book. Separate multiple addresses with commas (,).
Note If GroupType is set to IP, port, or domain, this parameter must be set.
  • If GroupType is set to IP, fill in the address list with IP addresses. Examples: 10.10.XX.XX/32, 10.10.XX.XX/24.
  • If GroupType is set to port, fill in the address list with ports or port ranges. Examples: 80, 100/200.
  • If GroupType is set to domain, fill in the address list with domain names. Examples: demo1.aliyun.com, demo2.aliyun.com
TagList List No Yes The ECS tags to match. None.

TagList syntax

"TagList": [
  {
    "TagKey": String,
    "TagValue": String
  }
]

TagList properties

Name Type Required Editable Description Validity
TagKey String No Yes The key of the to-match ECS tag. None.
TagValue String No Yes The value of the to-match ECS tag. None.

Response parameters

Fn::GetAtt

GroupUuid: The unique ID of the address book returned.

Examples

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "AddressBook": {
      "Type": "ALIYUN::CLOUDFW::AddressBook",
      "Properties": {
        "GroupType": {
          "Ref": "GroupType"
        },
        "AutoAddTagEcs": {
          "Ref": "AutoAddTagEcs"
        },
        "Description": {
          "Ref": "Description"
        },
        "TagRelation": {
          "Ref": "TagRelation"
        },
        "RegionId": {
          "Ref": "RegionId"
        },
        "GroupName": {
          "Ref": "GroupName"
        },
        "AddressList": {
          "Ref": "AddressList"
        },
        "TagList": {
          "Ref": "TagList"
        }
      }
    }
  },
  "Parameters": {
    "GroupType": {
      "Type": "String",
      "Description": "Type the address book, the optional values: ip: IP Address Book. domain: domain name address book .port: Port Address Book. tag: ECS label address book",
      "AllowedValues": [
        "domain",
        "ip",
        "port",
        "tag"
      ]
    },
    "AutoAddTagEcs": {
      "Default": false,
      "Type": "Boolean",
      "Description": "Whether to automatically add new ECS public network IP matching tags to the address book. Default to false.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "Description": {
      "MinLength": 1,
      "Type": "String",
      "Description": "Address book description."
    },
    "TagRelation": {
      "Type": "String",
      "Description": "The relationship between the labels to be matched more ECS. and: the relationship between multiple labels. and: that matches both ECS IP public network more tags will be added to the address book. or: a plurality of inter-labeled or relationship, i.e., as long as a matching tag ECS public IP address book will be added.",
      "AllowedValues": [
        "and",
        "or"
      ]
    },
    "RegionId": {
      "Default": "cn-hangzhou",
      "Type": "String",
      "Description": "Region ID. Default to cn-hangzhou.",
      "AllowedValues": [
        "cn-hangzhou",
        "ap-southeast-1"
      ]
    },
    "GroupName": {
      "Type": "String",
      "Description": "Name Address book."
    },
    "AddressList": {
      "Type": "String",
      "Description": "Address list of the address book, between multiple addresses separated by commas.\nNote: When GroupType ip, it must be set to port or domain.\nWhen GroupType as ip, address list, fill in the IP address. For example: 10.10.XX.XX/32, 10.10.XX.XX/24\nWhen GroupType for the port, the address list to fill in ports or port ranges. For example: 80, 100/200\nWhen GroupType for the domain, the domain name to fill in the address list. For example: demo1.aliyun.com, demo2.aliyun.com"
    },
    "TagList": {
      "Type": "Json",
      "Description": "",
      "MaxLength": 100
    }
  },
  "Outputs": {
    "GroupUuid": {
      "Description": "After a successful return to the address book to add unique identification ID.",
      "Value": {
        "Fn::GetAtt": [
          "AddressBook",
          "GroupUuid"
        ]
      }
    }
  }
}

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  AddressBook:
    Type: ALIYUN::CLOUDFW::AddressBook
    Properties:
      GroupType:
        Ref: GroupType
      AutoAddTagEcs:
        Ref: AutoAddTagEcs
      Description:
        Ref: Description
      TagRelation:
        Ref: TagRelation
      RegionId:
        Ref: RegionId
      GroupName:
        Ref: GroupName
      AddressList:
        Ref: AddressList
      TagList:
        Ref: TagList
Parameters:
  GroupType:
    Type: String
    Description: 'Type the address book, the optional values: ip: IP Address Book.
      domain: domain name address book .port: Port Address Book. tag: ECS label address
      book'
    AllowedValues:
    - domain
    - ip
    - port
    - tag
  AutoAddTagEcs:
    Default: false
    Type: Boolean
    Description: Whether to automatically add new ECS public network IP matching tags
      to the address book. Default to false.
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
  Description:
    MinLength: 1
    Type: String
    Description: Address book description.
  TagRelation:
    Type: String
    Description: 'The relationship between the labels to be matched more ECS. and:
      the relationship between multiple labels. and: that matches both ECS IP public
      network more tags will be added to the address book. or: a plurality of inter-labeled
      or relationship, i.e., as long as a matching tag ECS public IP address book
      will be added.'
    AllowedValues:
    - and
    - or
  RegionId:
    Default: cn-hangzhou
    Type: String
    Description: Region ID. Default to cn-hangzhou.
    AllowedValues:
    - cn-hangzhou
    - ap-southeast-1
  GroupName:
    Type: String
    Description: Name Address book.
  AddressList:
    Type: String
    Description: |-
      Address list of the address book, between multiple addresses separated by commas.
      Note: When GroupType ip, it must be set to port or domain.
      When GroupType as ip, address list, fill in the IP address. For example: 10.10.XX.XX/32, 10.10.XX.XX/24
      When GroupType for the port, the address list to fill in ports or port ranges. For example: 80, 100/200
      When GroupType for the domain, the domain name to fill in the address list. For example: demo1.aliyun.com, demo2.aliyun.com
  TagList:
    Type: Json
    Description: ''
    MaxLength: 100
Outputs:
  GroupUuid:
    Description: After a successful return to the address book to add unique identification
      ID.
    Value:
      Fn::GetAtt:
      - AddressBook
      - GroupUuid