migrate
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
data "cloudflare_zone" "zone" {
|
||||
zone_id = "<< cloudflare_zone_id >>"
|
||||
}
|
||||
|
||||
resource "cloudflare_dns_record" "<< resource_name >>" {
|
||||
zone_id = data.cloudflare_zone.zone.zone_id
|
||||
name = "<< name >>"
|
||||
type = "<< record_type >>"
|
||||
<%- if record_type == "A" %>
|
||||
content = "<< ipv4_address >>"
|
||||
proxied = << proxied | lower >>
|
||||
<%- endif %>
|
||||
<%- if record_type == "AAAA" %>
|
||||
content = "<< ipv6_address >>"
|
||||
proxied = << proxied | lower >>
|
||||
<%- endif %>
|
||||
<%- if record_type == "CNAME" %>
|
||||
content = "<< target_hostname >>"
|
||||
proxied = << proxied | lower >>
|
||||
<%- endif %>
|
||||
<%- if record_type == "TXT" %>
|
||||
content = "<< text_value >>"
|
||||
<%- endif %>
|
||||
<%- if record_type == "MX" %>
|
||||
content = "<< mail_server >>"
|
||||
priority = << priority >>
|
||||
<%- endif %>
|
||||
ttl = << ttl >>
|
||||
}
|
||||
@@ -0,0 +1,175 @@
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user