import zone export
This block is part of the dns group and was last modified in core v15.0.0.
import zone export v15.0.0 Read a Route53 export and hand back the records, the SOA timers and the delegation, ready to store.
- flow
flow - Zone required
valueThe zone this export belongs to, for example deverence.com.
- Export required
objectThe Route53 export: the AWS document, a bare array of record sets, or either as JSON text. Entries may also carry lowercase policy/slot/note to seed a zone group in one call.
- Allow routing policies
conditionImport weighted, latency, geolocation and failover records as one flat answer instead of refusing. Off by default, because a zone file cannot express the policy.
- flow
flow - Success
conditionTrue when the export was imported.
- Zone
valueThe zone name, without its trailing dot.
- Records
arrayThe records, each with owner, type, ttl, values and : for an ALIAS : alias_target.
- Count
numberHow many record sets were imported.
- SOA
objectThe SOA timers: mname, rname, refresh, retry, expire, minimum. No serial: that is stamped at render time.
- Nameservers
arrayThe zone's existing apex NS set, fully qualified.
- Warnings
arrayRecords that survived import but need a decision: ALIAS targets and, when allowed, routing policies.
- Error
valueWhy the export was refused.
Parses a Route53 list-resource-record-sets export into the DNS zone store's own record shape. Accepts the AWS document ({"ResourceRecordSets": [...]}), a bare array, or either as JSON text. Owners come back RELATIVE to the origin ('@' for the apex, 'www', '*'), with Route53's octal escapes expanded, which is what lets one record set render under several apexes. The apex SOA and NS are NOT records: they come back on the soa and nameservers pins, because every rendered zone carries its own delegation and a serial stamped at render time. The SOA serial is discarded deliberately. ALIAS records are kept with their target on alias_target and no values; BIND has no ALIAS, so they are resolved at render time. Records carrying a Route53 routing policy (SetIdentifier: weighted, latency, geolocation, failover) make the block REFUSE with success=false, because a zone file would have to flatten them into one arbitrary answer; allow_routing_policies imports them flat and reports each one on the warnings pin. Record order is preserved as the export gave it, which is the order the store keeps and the renderer emits. SEEDING A GROUP: a record set may also carry lowercase policy, slot and note keys, which are passed through to the record. A real AWS export never has them (its keys are TitleCase), but a caller seeding a zone group can, which makes seeding one call instead of an import followed by a PATCH per record. policy is verbatim, rewrite, per-apex or note; anything else is REFUSED rather than ignored, because ignoring it would leave the record rendering verbatim : copied to every apex, the opposite of what was asked. per-apex without a slot is refused too: a slot nobody can fill is a gap, not a decision.
route53 import |
import from aws |
import zone |
A typical wiring for import zone export: a function trigger starts the flow; value feeds the zone pin; new object feeds the export pin; the flow out pin feeds debug.
Used in these guides
These documentation pages use or explain this block:
Version history
Introduced in v15.0.0.
Back to
dns Return to the main group to view all sub-groups Back to DNS zones Return to the group to view all blocks within this group 