]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: hlua_fcn: add Server.is_backup()
authorAurelien DARRAGON <adarragon@haproxy.com>
Wed, 29 Mar 2023 08:44:38 +0000 (10:44 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 5 May 2023 14:28:32 +0000 (16:28 +0200)
This function returns true if the current server is a backup server.

doc/lua-api/index.rst
src/hlua_fcn.c

index 66d5da67fdd2515f50d7c760cdfb7d18f7249ac9..deef2618d1aacb5b099266dabd52432719046830 100644 (file)
@@ -1158,6 +1158,14 @@ Server class
    server.
   :returns: a boolean
 
+.. js:function:: Server.is_backup(sv)
+
+  Return true if the server is a backup server
+
+  :param class_server sv: A :ref:`server_class` which indicates the manipulated
+   server.
+  :returns: a boolean
+
 .. js:function:: Server.set_maxconn(sv, weight)
 
   Dynamically change the maximum connections of the server. See the management
index 639a1ef0106acc1642a39231ff5fcb76f1608f80..dc9ded4aa0b9bace1b0c12f8db924dbd20b379ca 100644 (file)
@@ -1072,6 +1072,20 @@ int hlua_server_is_draining(lua_State *L)
        return 1;
 }
 
+int hlua_server_is_backup(lua_State *L)
+{
+       struct server *srv;
+
+       srv = hlua_check_server(L, 1);
+       if (srv == NULL) {
+               lua_pushnil(L);
+               return 1;
+       }
+
+       lua_pushboolean(L, (srv->flags & SRV_F_BACKUP));
+       return 1;
+}
+
 int hlua_server_set_maxconn(lua_State *L)
 {
        struct server *srv;
@@ -1422,6 +1436,7 @@ int hlua_fcn_new_server(lua_State *L, struct server *srv)
        hlua_class_function(L, "get_puid", hlua_server_get_puid);
        hlua_class_function(L, "get_rid", hlua_server_get_rid);
        hlua_class_function(L, "is_draining", hlua_server_is_draining);
+       hlua_class_function(L, "is_backup", hlua_server_is_backup);
        hlua_class_function(L, "set_maxconn", hlua_server_set_maxconn);
        hlua_class_function(L, "get_maxconn", hlua_server_get_maxconn);
        hlua_class_function(L, "set_weight", hlua_server_set_weight);