register/schema.json
2024-11-09 20:32:02 +07:00

72 lines
1.4 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"description": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"username": {
"type": "string"
}
},
"required": ["username"],
"additionalProperties": {
"type": "string"
}
},
"record": {
"type": "object",
"properties": {
"ALIAS": {
"type": "string"
},
"A": {
"type": "array",
"items": {
"type": "string",
"format": "ipv4"
}
},
"AAAA": {
"type": "array",
"items": {
"type": "string",
"format": "ipv6"
}
},
"CNAME": {
"type": "string"
},
"MX": {
"type": "array",
"items": {
"type": "string"
}
},
"TXT": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [],
"anyOf": [
{ "required": ["ALIAS"] },
{ "required": ["A"] },
{ "required": ["AAAA"] },
{ "required": ["CNAME"] },
{ "required": ["MX"] },
{ "required": ["TXT"] },
{ "required": ["SRV"] }
]
},
"proxied": {
"type": "boolean"
}
},
"required": ["owner", "record"]
}