mehr-it/hetzner-dns-api

Hetzner DNS API 的非官方 PHP 客户端

0.8.1 2021-05-21 08:04 UTC

This package is auto-updated.

Last update: 2024-09-21 15:15:00 UTC


README

此库实现了一个非官方但完整的 Hetzner 公共 DNS API PHP 客户端。

为什么是专有许可?

由于 Hetzner 对于支持 PHP DNS API 客户端库的开发没有表现出兴趣,我们不希望独自承担产品集成的开发成本。如果有人愿意参与的话,我们愿意在 MIT 许可下分享此包...

安装

您应该使用 composer 安装此库

composer require mehr-it/hetzner-dns-api

用法

以下示例演示了创建新的 DNS 记录。有关所有操作的完整列表,请参阅官方 API 文档。客户端类的对应方法和参数命名与文档中相似。

$apiToken = '...'; // see https://dns.hetzner.com/settings/api-token to generate one

// create a client instance
$client = new HetznerDnsClient($apiToken);

// retrieve ID of the target zone
$zoneId = $client->getZoneByName('mytestzone.de')->getZones()[0]->getId();

// create new record
$response = $client->createRecord(
    (new Record())
        ->zoneId($zoneId)
        ->ttl(900)
        ->type(Record::TYPE_A)
        ->value('8.8.8.8')
        ->name('www')
);

$recordId = $response->getRecord()->getId();

已知问题

Hetzner DNS API 存在一些错误。这些错误已经报告,但几个月来尚未修复。以下功能受到影响

  • getAllRecords(分页似乎不正确工作)
  • bulkUpdateRecords
  • validateZoneFilePlain(有效记录不返回)