DNS ゾーン
dns カテゴリの API 操作 8 件をカバーします。
| メソッド | パス | 説明 |
|---|---|---|
| GET | /v1/orgs/{orgSlug}/dns/zones | DNS ゾーンの一覧(runlot dns zones) |
| POST | /v1/orgs/{orgSlug}/dns/zones | DNS ゾーンを作成します(runlot dns create) |
| GET | /v1/orgs/{orgSlug}/dns/zones/{zone} | 単一の DNS ゾーンとそのすべてのレコード |
| DELETE | /v1/orgs/{orgSlug}/dns/zones/{zone} | DNS ゾーンを削除します(runlot dns delete) |
| PUT | /v1/orgs/{orgSlug}/dns/zones/{zone}/rrsets/{name}/{type} | レコードを作成または更新します(runlot dns set) |
| DELETE | /v1/orgs/{orgSlug}/dns/zones/{zone}/rrsets/{name}/{type} | レコードを削除します(runlot dns rm) |
| POST | /v1/orgs/{orgSlug}/dns/zones/{zone}/dnssec | ゾーン署名のオン・オフを切り替えます |
| PUT | /v1/orgs/{orgSlug}/dns/zones/{zone}/dnssec/ds | 親ゾーンに登録する DS を保存します |
GET /v1/orgs/{orgSlug}/dns/zones
この org が runlot ネームサーバー上で運用している DNS ゾーンです。rrsets はここでは省略され、単一のゾーンを取得したときのみ返されます。viewer 以上の権限が必要です。
operationId listZones
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | 一覧取得 | ZoneList |
| 403 | — | — |
| 404 | — | — |
| 503 | dns_not_configured — このデプロイメントは runlot DNS を使用していません。no_core — サービスが一時的に利用できません。 | Error |
POST /v1/orgs/{orgSlug}/dns/zones
冪等 — 既存のゾーンは変更されずに返されます。新しいゾーンは SOA レコードと apex の NS rrset とともに作成されます。この NS rrset は runlot によって管理されており編集できません。これがなければドメインはまったく解決されません。
ゾーンを作成しただけでは、いずれの名前も runlot 経由で解決されるようになるわけではありません。委任を有効にするには、レジストラの NS レコードを nameservers の値に変更してください — delegation フィールドはその状態を反映します。admin 以上が必要です。audit log には dns.zone.create として記録されます。
operationId createZone
リクエストボディ: application/json ・ object
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | 作成された、または既に存在していたゾーン | ZoneDetail |
| 400 | — | — |
| 403 | — | — |
| 404 | — | — |
| 409 | 既に他の org が使用している DNS ゾーン(zone_taken) | Error |
| 503 | dns_not_configured — このデプロイメントは runlot DNS を使用していません。no_core — サービスが一時的に利用できません。 | Error |
GET /v1/orgs/{orgSlug}/dns/zones/{zone}
viewer 以上が必要です。
operationId getZone
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | DNS ゾーンと RRset | ZoneDetail |
| 403 | — | — |
| 404 | — | — |
| 503 | dns_not_configured — このデプロイメントは runlot DNS を使用していません。no_core — サービスが一時的に利用できません。 | Error |
DELETE /v1/orgs/{orgSlug}/dns/zones/{zone}
すべてのレコードとゾーン自体を削除します。委任が runlot のネームサーバーを指したままの場合、ドメインは解決されなくなります — 削除する前にレジストラの NS レコードを変更してください。admin 以上が必要です。audit log には dns.zone.delete として記録されます。
operationId deleteZone
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 204 | 削除済み | — |
| 403 | — | — |
| 404 | — | — |
| 503 | dns_not_configured — このデプロイメントは runlot DNS を使用していません。no_core — サービスが一時的に利用できません。 | Error |
PUT /v1/orgs/{orgSlug}/dns/zones/{zone}/rrsets/{name}/{type}
rrset(name + type)全体を1つ置き換えます。単一の値を追加するわけではありません — records はその rrset の新しい内容全体になります。
保存時に値が検証されます: CNAME は apex に置くことができず、同じ name の他のタイプと共存できません。また A/AAAA、MX、SRV、CAA は形式がチェックされます。255 バイトを超える TXT レコードはゾーンファイル内でチャンクに分割されます。runlot が管理するレコード(プロジェクトの連携、証明書の発行、ゾーンの NS)は 409 managed_rrset を返します。
member 以上が必要です。audit log には dns.rrset.set として記録されます。
operationId putRRset
リクエストボディ: application/json ・ object
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | 保存された rrset | RRset |
| 400 | — | — |
| 403 | — | — |
| 404 | — | — |
| 409 | プロジェクトが管理するレコード(managed_rrset)、または CNAME 共存禁止に該当するレコード(cname_conflict) | Error |
| 503 | dns_not_configured — このデプロイメントは runlot DNS を使用していません。no_core — サービスが一時的に利用できません。 | Error |
DELETE /v1/orgs/{orgSlug}/dns/zones/{zone}/rrsets/{name}/{type}
member 以上が必要です。Runlot が代わりに管理しているレコードは 409 managed_rrset を返します — 削除するには、ここでレコードを削除するのではなく、Domains 画面からプロジェクトの接続を解除してください。audit イベントは dns.rrset.delete です。
operationId deleteRRset
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 204 | 削除済み | — |
| 403 | — | — |
| 404 | — | — |
| 409 | アプリが管理する行(managed_rrset) | Error |
| 503 | このデプロイでは DNS が有効になっていません(dns_not_configured)、またはサービスが一時的に利用できません(no_core)。 | Error |
POST /v1/orgs/{orgSlug}/dns/zones/{zone}/dnssec
ゾーンを off から signing に移行します。署名はネームサーバーによって行われ、鍵情報は Runlot に保存されることはありません。DNSSEC を無効にすると、記録された DS もクリアされます。古い鍵の DS を親ゾーンに登録したままにすると、ドメインの検証ができなくなります。admin 以上が必要です。
operationId setZoneDNSSEC
リクエストボディ: application/json ・ object
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | 変更されたゾーン | Zone |
| 403 | — | — |
| 404 | — | — |
| 503 | このデプロイでは DNS が有効になっていません(dns_not_configured)、またはサービスが一時的に利用できません(no_core)。 | Error |
PUT /v1/orgs/{orgSlug}/dns/zones/{zone}/dnssec/ds
Runlot は親ゾーンに問い合わせを行いません。親ゾーンに DS レコードが存在するようになった時点でこの値を送信してください。すると、ゾーンは signing から ds_pending に移行します。空のリストは「まだない」ことを意味し、状態を進めません。admin 以上が必要です。
operationId setZoneDS
リクエストボディ: application/json ・ object
| ステータスコード | 説明 | レスポンスボディ |
|---|---|---|
| 200 | 変更されたゾーン | Zone |
| 400 | — | — |
| 403 | — | — |
| 404 | — | — |
| 409 | ゾーンの DNSSEC がオフです(dnssec_off) | Error |
| 503 | このデプロイでは DNS が有効になっていません(dns_not_configured)、またはサービスが一時的に利用できません(no_core)。 | Error |