ADC Advanced Policy Expressions

SYS_T

Designates an expression that refers to the ApplicationSwitch,

rather than the client or server.

This topic lists the expressions that are provided by this class.

CHECK_LIMIT(text_tidentifier_name)

Used for rate limiting.

Returns a boolean Result.

Parameters(expressions not allowed):

identifier_name -

                        Identifier Name

Returns: bool_at

CI_CALLOUT(ci_callout_bool cic)

Make a Content Inspection callout.

Returns a boolean result.

Parameters(expressions not allowed):

cic -

                        Name of Content Inspection callout that returns boolean result.

Returns: bool_at

CI_CALLOUT(ci_callout_num cic)

Make a Content Inspection callout.

Returns a number result.

Parameters(expressions not allowed):

cic -

                        Name of Content Inspection callout that returns number result.

Returns: num_at

CI_CALLOUT(ci_callout_text cic)

Make a Content Inspection callout.

Returns a text result.

Parameters(expressions not allowed):

cic -

                        Name of Content Inspection callout that returns text result.

Returns: text_t

CLIENT_EXPR(text_ts)

Evaluates a client expression.

Returns a boolean result.

Examples:

CLIENT_EXPR("client.av(Norton).exists")

add some more examples

Parameters(expressions not allowed):

s -

                        Client Expression

Returns: bool_at

ERROR

Returns the error encountered when performing the last

operation.

Returns: error_t

EVAL_CLASSIC_EXPR(classic_expr s)

Evaluate classic-style Citrix ADC expressions.

NOTE: use of Classic expressions is deprecated - use Default

(Advanced) expressions instead of this function.

The result of this evaluation can continued to be used

for further Advanced operations. This operation is intended to

be a bridge between traditional Citrix ADC expressions, which

we call "classic" expressions and the Advanced expressions. Both

inline and named classic expressions can be used as input.

Examples:

SYS.EVAL_CLASSIC_EXPR("ns_slowclient")

SYS.EVAL_CLASSIC_EXPR("REQ.SSL.CLIENT.CIPHER.BITS > 1000")

SYS.EVAL_CLASSIC_EXPR("url contains abc")

SYS.EVAL_CLASSIC_EXPR("REQ.IP.SOURCEIP == 10.102.1.61 -netmask 255.255.255.255")

SYS.EVAL_CLASSIC_EXPR("time >= *:30:00GMT")

SYS.EVAL_CLASSIC_EXPR(\"e1 || e2\")

SYS.EVAL_CLASSIC_EXPR("REQ.HTTP.URLLEN > 50")

SYS.EVAL_CLASSIC_EXPR("dayofweek == wedGMT")

Parameters(expressions not allowed):

s -

                        Classic Expression

Returns: bool_at

HTTP_CALLOUT(http_callout_bool hc)

Make a http callout.

Returns a boolean result.

Parameters(expressions not allowed):

hc -

                        Name of Http callout that returns boolean result.

Returns: bool_at

HTTP_CALLOUT(http_callout_num hc)

Make a http callout.

Returns a number result.

Parameters(expressions not allowed):

hc -

                        Name of Http callout that returns number result.

Returns: num_at

HTTP_CALLOUT(http_callout_text hc)

Make a http callout.

Returns a text result.

Parameters(expressions not allowed):

hc -

                        Name of Http callout that returns text as result.

Returns: text_t

NANO_TIME

Returns the current system time as the number of nanoseconds since "GMT Jan 1 1970 0h 0m 0.000000000s".

Accuracy may be at larger granularity than nanosecond resolution.

Returns: unsigned_long_at

NON_BLOCKING_HTTP_CALLOUT(http_callout_bool hc)

Make a non blocking http callout.

Returns a boolean result 'true'.

Parameters(expressions not allowed):

hc -

                        Name of Http callout that returns boolean result that is ignored.

Returns: bool_at

NON_BLOCKING_HTTP_CALLOUT(http_callout_num hc)

Make a non blocking http callout.

Returns a number that is '0'.

Parameters(expressions not allowed):

hc -

                        Name of Http callout that returns number which is ignored.

Returns: num_at

NON_BLOCKING_HTTP_CALLOUT(http_callout_text hc)

Make a non blocking http callout.

Returns a text that is of zero length.

Parameters(expressions not allowed):

hc -

                        Name of Http callout that returns text as result which is ignored.

Returns: text_t

NSIP

Returns the netscaler's IPV4 address.

Returns: ip_address_at

RANDOM

Returns a random number between 0 and 1,

inclusive of 0 but exclusive of 1

Returns: double_at

SERVICEGROUP(text_tservicegroup_name)

Used for Servicegroup expressions.These expression raises an undef if servicegroup with the given name doesn't exist.

Parameters(expressions not allowed):

servicegroup_name -

                        ServiceGroup Name

Returns: servicegroup_t

SERVICE(text_tservice_name)

Used for Service expressions.These expression raises an undef if service with the given name doesn't exist.

Parameters(expressions not allowed):

service_name -

                        Service Name

Returns: service_t

TIME

Returns the current system time as the number of seconds since "GMT Jan 1 1970 0h 0m 0s".

NOTE: It is not possible to set the system time to date and time before 1970.

Returns: time_at

UUID

Returns a newly generated UUID.

Returns: text_t

VSERVER(text_tvserver_name)

Used for vserver expressions.These expressions raise undef if virtual server with name doesn't exist.

Parameters(expressions not allowed):

vserver_name -

                        Virtual Server

Returns: vserver_t

SYS_T

In this article