// !! This file has been generated by dnsdist-rules-generator.py, do not edit by hand!!
std::shared_ptr<DNSAction> getAllowAction();
std::shared_ptr<DNSAction> getDelayAction(uint32_t msec);
std::shared_ptr<DNSAction> getDropAction();
std::shared_ptr<DNSAction> getLogAction(const std::string& file_name, bool binary, bool append, bool buffered, bool verbose_only, bool include_timestamp);
std::shared_ptr<DNSAction> getLuaFFIPerThreadAction(const std::string& code);
std::shared_ptr<DNSAction> getNoneAction();
std::shared_ptr<DNSAction> getPoolAction(const std::string& pool_name, bool stop_processing);
std::shared_ptr<DNSAction> getQPSAction(uint32_t limit);
std::shared_ptr<DNSAction> getQPSPoolAction(uint32_t limit, const std::string& pool_name, bool stop_processing);
std::shared_ptr<DNSAction> getSetAdditionalProxyProtocolValueAction(uint8_t proxy_type, const std::string& value);
std::shared_ptr<DNSAction> getSetDisableECSAction();
std::shared_ptr<DNSAction> getSetDisableValidationAction();
std::shared_ptr<DNSAction> getSetECSOverrideAction(bool override_existing);
std::shared_ptr<DNSAction> getSetECSPrefixLengthAction(uint16_t ipv4, uint16_t ipv6);
std::shared_ptr<DNSAction> getSetEDNSOptionAction(uint32_t code, const std::string& data);
std::shared_ptr<DNSAction> getSetExtendedDNSErrorAction(uint16_t info_code, const std::string& extra_text, std::optional<bool> clear_existing_entries);
std::shared_ptr<DNSAction> getSetMacAddrAction(uint32_t code);
std::shared_ptr<DNSAction> getSetNoRecurseAction();
std::shared_ptr<DNSAction> getSetSkipCacheAction();
std::shared_ptr<DNSAction> getSetTagAction(const std::string& tag, const std::string& value);
std::shared_ptr<DNSAction> getSetTempFailureCacheTTLAction(uint32_t ttl);
std::shared_ptr<DNSAction> getSNMPTrapAction(const std::string& reason);
std::shared_ptr<DNSAction> getTCAction();
std::shared_ptr<DNSAction> getUnsetTagAction(const std::string& tag);
