Fortinet white logo
Fortinet white logo

Script Reference Guide

LB:set_real_server()

LB:set_real_server()

Sets a real server from the configured pool directly.

This function returns Boolean true if successful, otherwise, returns Boolean false.

Syntax

LB:set_real_server(rs_name);

Arguments

Name Description

rs_name

A Lua string as the name of the real server.

A valid real server must meet the following conditions:

  • The real server name is valid and complies with name requirements (character limit, etc.)

  • The real server's is a member of the selected pool.

  • The real server is usable.

Events

Applicable in the following events:

  • HTTP_REQUEST

  • HTTP_DATA_REQUEST

  • BEFORE_AUTH

  • AUTH_RESULT

  • PERSISTENCE

  • POST_PERSIST

Examples

For events with manual routing selection:

when HTTP_REQUEST {
	debug("===>>============begin HTTP scripting============\n")
	-- routing to set
	sr = "test07"
	s = LB:get_current_routing()
	if (s == nil or s == "") then
	    debug("===>>set routing to be '%s'\n", sr)
		LB:routing(sr)
		s = sr
	end
	debug("===>>current routing: %s\n", s)

    -- Real Server name 
	rs = "rs05"
	ret = LB:set_real_server(rs)
	if ret then
		debug("LB:set_real_server(%s) Success.\n", rs);
	else 
        debug("LB:set_real_server(%s) Failed.\n", rs);
	end
	debug("===>>============end  HTTP scripting============\n")
}

For events without manual routing selection:

when PERSISTENCE {
	debug("===>>============begin scripting============\n")
       -- Real Server name 
	rs = "rs06"
	ret = LB:set_real_server(rs)
	if ret then
		debug("set_real_server(%s) Success.\n", rs);
	else 
        debug("set_real_server(%s) Failed.\n", rs);
	end
	debug("===>>============end scripting============\n")
}

Supported Version

FortiADC version 7.4.3 and later.

LB:set_real_server()

LB:set_real_server()

Sets a real server from the configured pool directly.

This function returns Boolean true if successful, otherwise, returns Boolean false.

Syntax

LB:set_real_server(rs_name);

Arguments

Name Description

rs_name

A Lua string as the name of the real server.

A valid real server must meet the following conditions:

  • The real server name is valid and complies with name requirements (character limit, etc.)

  • The real server's is a member of the selected pool.

  • The real server is usable.

Events

Applicable in the following events:

  • HTTP_REQUEST

  • HTTP_DATA_REQUEST

  • BEFORE_AUTH

  • AUTH_RESULT

  • PERSISTENCE

  • POST_PERSIST

Examples

For events with manual routing selection:

when HTTP_REQUEST {
	debug("===>>============begin HTTP scripting============\n")
	-- routing to set
	sr = "test07"
	s = LB:get_current_routing()
	if (s == nil or s == "") then
	    debug("===>>set routing to be '%s'\n", sr)
		LB:routing(sr)
		s = sr
	end
	debug("===>>current routing: %s\n", s)

    -- Real Server name 
	rs = "rs05"
	ret = LB:set_real_server(rs)
	if ret then
		debug("LB:set_real_server(%s) Success.\n", rs);
	else 
        debug("LB:set_real_server(%s) Failed.\n", rs);
	end
	debug("===>>============end  HTTP scripting============\n")
}

For events without manual routing selection:

when PERSISTENCE {
	debug("===>>============begin scripting============\n")
       -- Real Server name 
	rs = "rs06"
	ret = LB:set_real_server(rs)
	if ret then
		debug("set_real_server(%s) Success.\n", rs);
	else 
        debug("set_real_server(%s) Failed.\n", rs);
	end
	debug("===>>============end scripting============\n")
}

Supported Version

FortiADC version 7.4.3 and later.