Reverse DNS

Get PTR record

PTR records refer to a parent device: either a Cloud Server or a Cloud Load Balancer with a public virtual IP address. You must supply a fully formed resource object in order to retrieve either one’s PTR record:

/** @param $parent OpenCloud\DNS\Resource\HasPtrRecordsInterface */

$ptr = $service->ptrRecord(array(
    'parent' => $parent
));

So, in the above example, the $parent object could be an instance of OpenCloud\Compute\Resource\Server or OpenCloud\LoadBalancer\Resource\LoadBalancer - because they both implement OpenCloud\DNS\Resource\HadPtrRecordsInterface. Please consult the server documentation and load balancer documentation for more detailed usage instructions.

List PTR records

/** @param $parent OpenCloud\DNS\Resource\HasPtrRecordsInterface */

$ptrRecords = $service->ptrRecordList($parent);

foreach ($ptrRecords as $ptrRecord) {

}

Add PTR record

$parent = $computeService->server('foo-server-id');

$ptr = $dnsService->ptrRecord(array(
    'parent' => $parent,
    'ttl'    => 3600,
    'name'   => 'example.com',
    'type'   => 'PTR',
    'data'   => '192.0.2.7'
));

$ptr->create();

Here is a table that explains the above attributes:

Name Description Required
type Specifies the record type as “PTR”. Yes
name Specifies the name for the domain or subdomain. Must be a valid domain name. Yes
data The data field for PTR records must be a valid IPv4 or IPv6 IP address. Yes
ttl If specified, must be greater than 300. Defaults to 3600 if no TTL is specified. No
comment If included, its length must be less than or equal to 160 characters. No

Modify PTR record

$ptr->update(array(
    'ttl' => $ptr->ttl * 2
));

Delete PTR record

$ptr->delete();