Skip to content

ZoneDnsSettings

Source: src/Cloudflare/Dns/ZoneSettings.ts

The DNS settings of a Cloudflare zone (/zones/{zone_id}/dns_settings) — nameserver assignment, NS TTL, SOA components, CNAME flattening, multi-provider mode, and zone mode.

The settings object is a per-zone singleton — it always exists with Cloudflare defaults, so this resource never creates or deletes anything physical. Reconcile patches only the fields you declare (and only when the observed value differs); destroy restores the managed fields to the values they had before Alchemy first touched the zone (captured as initialSettings).

Some fields are plan-gated: foundationDns is a paid add-on, nameservers.type: "custom.*" requires account custom nameservers, internalDns and secondaryOverrides are Enterprise features.

Lower the NS record TTL

yield* Cloudflare.ZoneDnsSettings("DnsSettings", {
zoneId: zone.zoneId,
nsTtl: 3600,
});

Flatten every CNAME in the zone

yield* Cloudflare.ZoneDnsSettings("DnsSettings", {
zoneId: zone.zoneId,
flattenAllCnames: true,
});
yield* Cloudflare.ZoneDnsSettings("DnsSettings", {
zoneId: zone.zoneId,
soa: { minTtl: 300 },
});
yield* Cloudflare.ZoneDnsSettings("DnsSettings", {
zoneId: zone.zoneId,
multiProvider: true,
});