cloudfloordns.models.groups
1# from dataclasses import dataclass, field 2from typing import List, Optional 3 4from pydantic import BaseModel, Field, StringConstraints 5from typing_extensions import Annotated 6 7DEFAULT_PRIMARY_NS = "ns1.g02.cfdns.net" 8 9 10class Group(BaseModel): 11 """ 12 Pydantic model 13 """ 14 15 id: Optional[str] = None 16 name: Annotated[str, StringConstraints(strip_whitespace=True)] 17 description: Optional[str] = None 18 dnsservers: List[str] = Field(default_factory=list) 19 20 class Config: 21 populate_by_name = True 22 extra = "allow" 23 24 def __hash__(self): 25 return hash(self.name) 26 27 def __eq__(self, op): 28 if isinstance(op, Group): 29 op = Group.name 30 return self.name == op
DEFAULT_PRIMARY_NS =
'ns1.g02.cfdns.net'
class
Group(pydantic.main.BaseModel):
11class Group(BaseModel): 12 """ 13 Pydantic model 14 """ 15 16 id: Optional[str] = None 17 name: Annotated[str, StringConstraints(strip_whitespace=True)] 18 description: Optional[str] = None 19 dnsservers: List[str] = Field(default_factory=list) 20 21 class Config: 22 populate_by_name = True 23 extra = "allow" 24 25 def __hash__(self): 26 return hash(self.name) 27 28 def __eq__(self, op): 29 if isinstance(op, Group): 30 op = Group.name 31 return self.name == op
Pydantic model
class
Group.Config: