Updated on 2022-08-15 GMT+08:00

Creating a Record Set

Function

Create a record set.

URI

POST /v2/zones/{zone_id}/recordsets

For details, see Table 1.
Table 1 Parameters in the URI

Parameter

Mandatory

Type

Description

zone_id

Yes

String

Zone ID

Obtain the private zone ID according to Querying Private Zones.

Request

  • Parameter description
    Table 2 Parameters in the request

    Parameter

    Mandatory

    Type

    Description

    name

    Yes

    String

    Fully qualified domain name (FQDN) suffixed with a zone name, which is a complete host name ended with a dot

    A domain name is case insensitive. Uppercase letters will also be converted into lowercase letters.

    description

    No

    String

    (Optional) Description of the domain name

    The value cannot exceed 255 characters.

    The value is left blank by default.

    type

    Yes

    String

    Record set type

    The value can be A, AAAA, MX, CNAME, TXT, SRV, or PTR.

    For details, see Record Set Type.

    ttl

    No

    Integer

    Caching period of the record set on a local DNS server

    If your service address is frequently changed, set TTL to a smaller value.

    Value range: 3002147483647

    The default value is 300.

    records

    Yes

    Array of strings

    Value of the record set. The value format varies depending on record set types.

    For example, the value of an AAAA record set is the IPv6 address list mapped to the domain name.

    tags

    No

    Array of object

    Resource tag. For details, see Table 3.

    The value is left blank by default.

    Table 3 Description of the tags field

    Parameter

    Mandatory

    Type

    Description

    key

    Yes

    String

    Tag key

    A key can contain up to 36 Unicode characters. key must be specified. Equal signs (=), asterisks (*), left angle brackets (<), right angle brackets (>), backslashes (\), commas (,), vertical bars (|), and slashes (/) are not allowed. The first and last characters cannot be spaces.

    value

    No

    String

    Tag value

    Each value can contain a maximum of 43 Unicode characters and can be an empty string. Equal signs (=), asterisks (*), left angle brackets (<), right angle brackets (>), backslashes (\), commas (,), vertical bars (|), and slashes (/) are not allowed. The first and last characters cannot be spaces.

  • Example request
    Add record sets for the zone whose ID is 2c9eb155587194ec01587224c9f90149:
    POST https://{DNS_Endpoint}/v2/zones/2c9eb155587194ec01587224c9f90149/recordsets
    • A type
      {
          "name": "www.example.com.",
          "description": "This is an example record set.",
          "type": "A",
          "ttl": 3600,
          "records": [
              "192.168.10.1",
              "192.168.10.2"
          ],
          "tags": [
              {
                "key": "key1",
                "value": "value1"
              }
          ]
      }
    • AAAA type
      {
          "name": "www.example.com.",
          "description": "This is an example record set.",
          "type": "AAAA",
          "ttl": 3600,
          "records": [
              "fe80:0:0:0:202:b3ff:fe1e:8329",
              "ff03:0db8:85a3:0:0:8a2e:0370:7334"
          ],
          "tags": [
              {
                "key": "key1",
                "value": "value1"
              }
          ]
      }
    • MX type
      {
          "name": "www.example.com.",
          "description": "This is an example record set.",
          "type": "MX",
          "ttl": 3600,
          "records": [
              "1 mail.example.com"
          ],
          "tags": [
              {
                "key": "key1",
                "value": "value1"
              }
          ]
      }
    • CNAME type
      {
          "name": "sale.example.com.",
          "description": "This is an example record set.",
          "type": "CNAME",
          "ttl": 3600,
          "records": [
              "server1.example.com"
          ],
          "tags": [
              {
                "key": "key1",
                "value": "value1"
              }
          ]
      }
    • TXT type
      {
          "name": "server1.example.com.",
          "description": "This is an example record set.",
          "type": "TXT",
          "ttl": 300,
          "records": [
              "\"This host is used for sale.\""
          ],
          "tags": [
              {
                "key": "key1",
                "value": "value1"
              }
          ]
      }
    • SRV type
      {
          "name": "_sip._tcp.example.com.",
          "description": "This is an example record set.",
          "type": "SRV",
          "ttl": 300,
          "records": [
              "3 60 2176 sipserver.example.com.",
              "10 100 2176 sipserver.example.com."
          ],
          "tags": [
              {
                "key": "key1",
                "value": "value1"
              }
          ]
      }
    • PTR type
      {
          "name": "1.1.168.192.in-addr.arpa.",
          "description": "This is an example record set.",
          "type": "PTR",
          "ttl": 300,
          "records": [
              "webserver.example.com."
          ],
          "tags": [
              {
                "key": "key1",
                "value": "value1"
              }
          ]
      }
      

Response

  • Parameter description
    Table 4 Parameters in the response

    Parameter

    Type

    Description

    id

    String

    Record set ID

    name

    String

    Record set name

    description

    String

    Record set description

    zone_id

    String

    Zone ID of the record set

    zone_name

    String

    Zone name of the record set

    type

    String

    Record set type

    The value can be A, AAAA, MX, CNAME, TXT, SRV, or PTR.

    For details, see Record Set Type.

    ttl

    Integer

    Record set cache duration (in seconds) on a local DNS server. The longer the duration is, the slower the update takes effect.

    If your service address is frequently changed, set TTL to a smaller value.

    Value range: 3002147483647

    The default value is 300.

    records

    Array of strings

    Record set value

    create_at

    String

    Time when the record set was created

    The value format is yyyy-MM-dd'T'HH:mm:ss.SSS.

    update_at

    String

    Time when the record set was updated

    The value format is yyyy-MM-dd'T'HH:mm:ss.SSS.

    status

    String

    Resource status

    For details, see Resource Status.

    default

    Boolean

    Whether the record set is created by default. A default record set cannot be deleted.

    project_id

    String

    Project ID of the record set

    links

    Object

    Link to the current resource or other related resources. When a response is broken into pages, a next link is provided to retrieve all results.

    For details, see Table 5.

    Table 5 Parameters in the links field

    Parameter

    Type

    Description

    self

    String

    Link to the current resource

    next

    String

    Link to the next page

  • Example response
    {
        "id": "2c9eb155587228570158722b6ac30007",
        "name": "www.example.com.",
        "description": "This is an example record set.",
        "type": "A",
        "ttl": 300,
        "records": [
            "192.168.10.1",
            "192.168.10.2"
        ],
        "status": "PENDING_CREATE",
        "links": {
            "self": "https://Endpoint/v2/zones/2c9eb155587194ec01587224c9f90149/recordsets/2c9eb155587228570158722b6ac30007"
        },
        "zone_id": "2c9eb155587194ec01587224c9f90149",
        "zone_name": "example.com.",
        "create_at": "2016-11-17T12:03:17.827",
        "update_at": null,
        "default": false,
        "project_id": "e55c6f3dc4e34c9f86353b664ae0e70c"
    }
    

Returned Value

If a 2xx status code is returned, for example, 200, 202, or 204, the request is successful.

For details, see Status Code.