// !! This file has been generated by dnsdist-settings-generator.py, do not edit by hand!!
struct AllowActionConfiguration;
std::shared_ptr<DNSActionWrapper> getAllowAction(const AllowActionConfiguration& config);
struct ContinueActionConfiguration;
std::shared_ptr<DNSActionWrapper> getContinueAction(const ContinueActionConfiguration& config);
struct DelayActionConfiguration;
std::shared_ptr<DNSActionWrapper> getDelayAction(const DelayActionConfiguration& config);
struct DnstapLogActionConfiguration;
std::shared_ptr<DNSActionWrapper> getDnstapLogAction(const DnstapLogActionConfiguration& config);
struct DropActionConfiguration;
std::shared_ptr<DNSActionWrapper> getDropAction(const DropActionConfiguration& config);
struct ERCodeActionConfiguration;
std::shared_ptr<DNSActionWrapper> getERCodeAction(const ERCodeActionConfiguration& config);
struct HTTPStatusActionConfiguration;
std::shared_ptr<DNSActionWrapper> getHTTPStatusAction(const HTTPStatusActionConfiguration& config);
struct KeyValueStoreLookupActionConfiguration;
std::shared_ptr<DNSActionWrapper> getKeyValueStoreLookupAction(const KeyValueStoreLookupActionConfiguration& config);
struct KeyValueStoreRangeLookupActionConfiguration;
std::shared_ptr<DNSActionWrapper> getKeyValueStoreRangeLookupAction(const KeyValueStoreRangeLookupActionConfiguration& config);
struct LogActionConfiguration;
std::shared_ptr<DNSActionWrapper> getLogAction(const LogActionConfiguration& config);
struct LuaActionConfiguration;
std::shared_ptr<DNSActionWrapper> getLuaAction(const LuaActionConfiguration& config);
struct LuaFFIActionConfiguration;
std::shared_ptr<DNSActionWrapper> getLuaFFIAction(const LuaFFIActionConfiguration& config);
struct LuaFFIPerThreadActionConfiguration;
std::shared_ptr<DNSActionWrapper> getLuaFFIPerThreadAction(const LuaFFIPerThreadActionConfiguration& config);
struct NegativeAndSOAActionConfiguration;
std::shared_ptr<DNSActionWrapper> getNegativeAndSOAAction(const NegativeAndSOAActionConfiguration& config);
struct NoneActionConfiguration;
std::shared_ptr<DNSActionWrapper> getNoneAction(const NoneActionConfiguration& config);
struct PoolActionConfiguration;
std::shared_ptr<DNSActionWrapper> getPoolAction(const PoolActionConfiguration& config);
struct QPSActionConfiguration;
std::shared_ptr<DNSActionWrapper> getQPSAction(const QPSActionConfiguration& config);
struct QPSPoolActionConfiguration;
std::shared_ptr<DNSActionWrapper> getQPSPoolAction(const QPSPoolActionConfiguration& config);
struct RCodeActionConfiguration;
std::shared_ptr<DNSActionWrapper> getRCodeAction(const RCodeActionConfiguration& config);
struct RemoteLogActionConfiguration;
std::shared_ptr<DNSActionWrapper> getRemoteLogAction(const RemoteLogActionConfiguration& config);
struct SetAdditionalProxyProtocolValueActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetAdditionalProxyProtocolValueAction(const SetAdditionalProxyProtocolValueActionConfiguration& config);
struct SetDisableECSActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetDisableECSAction(const SetDisableECSActionConfiguration& config);
struct SetDisableValidationActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetDisableValidationAction(const SetDisableValidationActionConfiguration& config);
struct SetECSActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetECSAction(const SetECSActionConfiguration& config);
struct SetECSOverrideActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetECSOverrideAction(const SetECSOverrideActionConfiguration& config);
struct SetECSPrefixLengthActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetECSPrefixLengthAction(const SetECSPrefixLengthActionConfiguration& config);
struct SetEDNSOptionActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetEDNSOptionAction(const SetEDNSOptionActionConfiguration& config);
struct SetExtendedDNSErrorActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetExtendedDNSErrorAction(const SetExtendedDNSErrorActionConfiguration& config);
struct SetMacAddrActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetMacAddrAction(const SetMacAddrActionConfiguration& config);
struct SetMaxReturnedTTLActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetMaxReturnedTTLAction(const SetMaxReturnedTTLActionConfiguration& config);
struct SetNoRecurseActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetNoRecurseAction(const SetNoRecurseActionConfiguration& config);
struct SetProxyProtocolValuesActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetProxyProtocolValuesAction(const SetProxyProtocolValuesActionConfiguration& config);
struct SetSkipCacheActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetSkipCacheAction(const SetSkipCacheActionConfiguration& config);
struct SetTagActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetTagAction(const SetTagActionConfiguration& config);
struct SetTempFailureCacheTTLActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetTempFailureCacheTTLAction(const SetTempFailureCacheTTLActionConfiguration& config);
struct SetTraceActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSetTraceAction(const SetTraceActionConfiguration& config);
struct SNMPTrapActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSNMPTrapAction(const SNMPTrapActionConfiguration& config);
struct SpoofActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSpoofAction(const SpoofActionConfiguration& config);
struct SpoofCNAMEActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSpoofCNAMEAction(const SpoofCNAMEActionConfiguration& config);
struct SpoofPacketActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSpoofPacketAction(const SpoofPacketActionConfiguration& config);
struct SpoofRawActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSpoofRawAction(const SpoofRawActionConfiguration& config);
struct SpoofSVCActionConfiguration;
std::shared_ptr<DNSActionWrapper> getSpoofSVCAction(const SpoofSVCActionConfiguration& config);
struct TCActionConfiguration;
std::shared_ptr<DNSActionWrapper> getTCAction(const TCActionConfiguration& config);
struct TeeActionConfiguration;
std::shared_ptr<DNSActionWrapper> getTeeAction(const TeeActionConfiguration& config);
struct UnsetTagActionConfiguration;
std::shared_ptr<DNSActionWrapper> getUnsetTagAction(const UnsetTagActionConfiguration& config);
struct AllowResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getAllowResponseAction(const AllowResponseActionConfiguration& config);
struct ClearRecordTypesResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getClearRecordTypesResponseAction(const ClearRecordTypesResponseActionConfiguration& config);
struct DelayResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getDelayResponseAction(const DelayResponseActionConfiguration& config);
struct DnstapLogResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getDnstapLogResponseAction(const DnstapLogResponseActionConfiguration& config);
struct DropResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getDropResponseAction(const DropResponseActionConfiguration& config);
struct LimitTTLResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getLimitTTLResponseAction(const LimitTTLResponseActionConfiguration& config);
struct LogResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getLogResponseAction(const LogResponseActionConfiguration& config);
struct LuaResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getLuaResponseAction(const LuaResponseActionConfiguration& config);
struct LuaFFIResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getLuaFFIResponseAction(const LuaFFIResponseActionConfiguration& config);
struct LuaFFIPerThreadResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getLuaFFIPerThreadResponseAction(const LuaFFIPerThreadResponseActionConfiguration& config);
struct RemoteLogResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getRemoteLogResponseAction(const RemoteLogResponseActionConfiguration& config);
struct SetEDNSOptionResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetEDNSOptionResponseAction(const SetEDNSOptionResponseActionConfiguration& config);
struct SetExtendedDNSErrorResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetExtendedDNSErrorResponseAction(const SetExtendedDNSErrorResponseActionConfiguration& config);
struct SetMaxReturnedTTLResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetMaxReturnedTTLResponseAction(const SetMaxReturnedTTLResponseActionConfiguration& config);
struct SetMaxTTLResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetMaxTTLResponseAction(const SetMaxTTLResponseActionConfiguration& config);
struct SetMinTTLResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetMinTTLResponseAction(const SetMinTTLResponseActionConfiguration& config);
struct SetReducedTTLResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetReducedTTLResponseAction(const SetReducedTTLResponseActionConfiguration& config);
struct SetSkipCacheResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetSkipCacheResponseAction(const SetSkipCacheResponseActionConfiguration& config);
struct SetTagResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSetTagResponseAction(const SetTagResponseActionConfiguration& config);
struct SNMPTrapResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getSNMPTrapResponseAction(const SNMPTrapResponseActionConfiguration& config);
struct TCResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getTCResponseAction(const TCResponseActionConfiguration& config);
struct UnsetTagResponseActionConfiguration;
std::shared_ptr<DNSResponseActionWrapper> getUnsetTagResponseAction(const UnsetTagResponseActionConfiguration& config);
