{ "slug": "cloudflare-dns-record", "kind": "terraform", "metadata": { "name": "Cloudflare DNS Record", "description": "Creates a single Cloudflare DNS record for A, AAAA, CNAME, TXT, or MX with type-specific inputs, TTL, and proxying where supported.", "icon": { "provider": "selfhst", "id": "cloudflare", "color": "default" }, "draft": false, "version": { "name": "1.0.0", "source_dep_name": "manual/cloudflare-dns-record" } }, "variables": [ { "name": "terraform", "title": "Terraform", "items": [ { "name": "resource_name", "title": "Resource Name", "type": "str", "default": "dns_record", "config": { "placeholder": "dns_record" } } ] }, { "name": "record", "title": "DNS Record", "items": [ { "name": "cloudflare_zone_id", "title": "Cloudflare Zone ID", "type": "str", "config": { "placeholder": "123456789" }, "required": true }, { "name": "name", "title": "Record Name", "description": "DNS record name (use @ for the root domain).", "type": "str", "default": "app", "config": { "placeholder": "app" } }, { "name": "record_type", "title": "DNS record type", "type": "enum", "default": "A", "config": { "options": [ "A", "AAAA", "CNAME", "TXT", "MX" ] } }, { "name": "ttl", "title": "TTL", "description": "Time to live (1 = automatic, or 60-86400 seconds)", "type": "int", "default": 1, "config": { "placeholder": "1", "unit": "seconds" } }, { "name": "ipv4_address", "title": "IPv4 Address", "description": "IPv4 address for an A record.", "type": "str", "required": true, "needs": [ "record_type=A" ], "config": { "placeholder": "192.0.2.1" } }, { "name": "ipv6_address", "title": "IPv6 Address", "description": "IPv6 address for an AAAA record.", "type": "str", "required": true, "needs": [ "record_type=AAAA" ], "config": { "placeholder": "2001:db8::1" } }, { "name": "target_hostname", "title": "Target Hostname", "description": "Canonical hostname target for a CNAME record.", "type": "str", "required": true, "needs": [ "record_type=CNAME" ], "config": { "placeholder": "origin.example.com" } }, { "name": "text_value", "title": "TXT Value", "description": "Text value for a TXT record.", "type": "str", "required": true, "needs": [ "record_type=TXT" ], "config": { "placeholder": "v=spf1 include:_spf.example.com ~all", "textarea": true } }, { "name": "mail_server", "title": "Mail Server", "description": "Mail server hostname for an MX record.", "type": "str", "required": true, "needs": [ "record_type=MX" ], "config": { "placeholder": "mail.example.com" } }, { "name": "priority", "title": "Priority", "description": "MX record priority (lower value = higher priority).", "type": "int", "default": 10, "required": true, "needs": [ "record_type=MX" ], "config": { "placeholder": "10" } }, { "name": "proxied", "title": "Proxy", "type": "bool", "default": true, "needs": [ "record_type=A,AAAA,CNAME" ] } ] } ] }