def __init__(self, name: str, rtype: str, expire: str, content: str, zone: str, query_data: Union[(str, None)]=None) -> None:
    'Initialize the DnsRecord object with safety checks.\n\n        :param name: name of the DNS record\n        :type name: str\n        :param rtype: type of the DNS record\n        :type rtype: str\n        :param expire: TTL of the DNS record\n        :type expire: str\n        :param content: content of the DNS record\n        :type content: str\n        :param zone: Zone or domain of the DNS record\n        :type zone: str\n        :param query_data: url which produces the exact data to be used as\n                           content, defaults to None\n        :type query_data: Union[str, None], optional\n        :raises ValueError: Raise an error if an invalid record type is specified\n        '
    if (rtype is not None):
        if (not (rtype.upper() in DNS_RECORD_TYPES)):
            raise ValueError(f"Type '{rtype}' is not one of the allowed record types ({DNS_RECORD_TYPES})")
    super().__init__(content=content, expire=expire, name=name, rtype=rtype)
    self.zone = zone
    self.fqdn = f'{self.name}.{self.zone}'
    if query_data:
        self.content = DnsRecord.query_for_content(query_data)
        logger.info(f"Resolved record data to be used: '{self.content}'")
    self.record_state = None
Initialize the DnsRecord object with safety checks.

:param name: name of the DNS record
:type name: str
:param rtype: type of the DNS record
:type rtype: str
:param expire: TTL of the DNS record
:type expire: str
:param content: content of the DNS record
:type content: str
:param zone: Zone or domain of the DNS record
:type zone: str
:param query_data: url which produces the exact data to be used as
                   content, defaults to None
:type query_data: Union[str, None], optional
:raises ValueError: Raise an error if an invalid record type is specified
def __init__(self, name: str, rtype: str, expire: str, content: str, zone: str, query_data: Union[(str, None)]=None) -> None:
    'Initialize the DnsRecord object with safety checks.\n\n        :param name: name of the DNS record\n        :type name: str\n        :param rtype: type of the DNS record\n        :type rtype: str\n        :param expire: TTL of the DNS record\n        :type expire: str\n        :param content: content of the DNS record\n        :type content: str\n        :param zone: Zone or domain of the DNS record\n        :type zone: str\n        :param query_data: url which produces the exact data to be used as\n                           content, defaults to None\n        :type query_data: Union[str, None], optional\n        :raises ValueError: Raise an error if an invalid record type is specified\n        '
    if (rtype is not None):
        if (not (rtype.upper() in DNS_RECORD_TYPES)):
            raise ValueError(f"Type '{rtype}' is not one of the allowed record types ({DNS_RECORD_TYPES})")
    super().__init__(content=content, expire=expire, name=name, rtype=rtype)
    self.zone = zone
    self.fqdn = f'{self.name}.{self.zone}'
    if query_data:
        self.content = DnsRecord.query_for_content(query_data)
        logger.info(f"Resolved record data to be used: '{self.content}'")
    self.record_state = None