@@ -39,6 +39,11 @@ class SOARecordDeleteRestricted(exceptions.RestAlchemyException):
3939 message = "SOA record cannot be deleted without domain deletion."
4040
4141
42+ class RecordNameWithWildcard (types_network .RecordName ):
43+ # Difference - allow wildcard at the beginning of domain name.
44+ pattern = re .compile (r"^(\*\.){0,1}([a-zA-Z0-9-_]{1,61}\.{0,1}){0,30}$" )
45+
46+
4247class CommonModel (
4348 models .ModelWithTimestamp ,
4449 models .ModelWithUUID ,
@@ -121,7 +126,7 @@ class ARecord(AbstractRecord):
121126 KIND = "A"
122127
123128 name = properties .property (
124- types_network . RecordName (),
129+ RecordNameWithWildcard (),
125130 required = True ,
126131 )
127132 address = properties .property (
@@ -137,7 +142,7 @@ class SOARecord(AbstractRecord):
137142 KIND = "SOA"
138143
139144 name = properties .property (
140- types_network . RecordName (),
145+ RecordNameWithWildcard (),
141146 required = True ,
142147 )
143148 primary_dns = properties .property (
@@ -158,7 +163,7 @@ class TXTRecord(AbstractRecord):
158163 KIND = "TXT"
159164
160165 name = properties .property (
161- types_network . RecordName (),
166+ RecordNameWithWildcard (),
162167 required = True ,
163168 )
164169 content = properties .property (
@@ -172,7 +177,7 @@ class NSRecord(AbstractRecord):
172177 KIND = "NS"
173178
174179 name = properties .property (
175- types_network . RecordName (),
180+ RecordNameWithWildcard (),
176181 required = True ,
177182 )
178183 content = properties .property (
0 commit comments