Application Delivery Management

Funciones integradas

Las expresiones en StyleBooks pueden hacer uso de funciones integradas.

Por ejemplo, puedes usar la función integrada str () para transformar un número en una cadena.

str ($parameters.order)

O bien, puede usar la función integrada int () para transformar una cadena en un entero.

int ($parameters.priority)

La siguiente es la lista de funciones integradas admitidas en expresiones StyleBook con ejemplos de cómo se pueden usar:

str()

La función str () transforma el argumento de entrada en un valor de cadena.

Tipos de argumentos permitidos:

  • string
  • number
  • Puerto TCP
  • booleano
  • Dirección IP

Ejemplos:

  • «set-» + str (10) devuelve «set-10”
  • str (10) devuelve «10”
  • str (1.1.1.1) devuelve «1.1.1.1»
  • str (T verdadero) devuelve «T verdadero»
  • str (mas) devuelve «mas»

int()

La función int () toma una cadena, un número o un tcpport como argumento y devuelve un entero.

Ejemplos:

  • int («10”) devuelve 10
  • int (10) devuelve 10

bool()

La función bool () toma cualquier tipo como argumento. Si el valor del argumento es falso, está vacío o no existe, esta función devuelve false.

De lo contrario, devuelve el valor verdadero.

Ejemplos:

  • bool (true) devuelve «verdadero»
  • bool (false) devuelve «falso»
  • bool ($parameters.a) devuelve false si
  • $parameters.a es falso, está vacío o no está presente.

len()

La función len () toma una cadena o una lista como argumento y devuelve el número de caracteres de una cadena o el número de elementos de una lista.

Ejemplo 1:

Si define una sustitución de la siguiente manera:

elementos: [“123”, «abc», «xyz”]

len ($substitutions.items) devuelve 3

Ejemplo 2:

len («netscaler mas») devuelve 13

Ejemplo 3:

len ($parameters.vips) devuelve 3 si a $parameters.vip se le asigna un valor [‘1.1.1.1’, ‘1.1.1.2’, ‘1.1.1.3’]

min()

La función min () toma una lista o una serie de números o puertos TCP como argumentos y devuelve el elemento más pequeño.

Ejemplos con una serie de números/tcp-ports:

  • min (80, 100, 1000) devuelve 80
  • min (-20, 100, 400) devuelve -20
  • min (-80, -20, -10) devuelve -80
  • min (0, 100, -400) devuelve -400

Ejemplos con una lista de números/tcp-ports:

  • Support $parameters.ports es una lista de puertos tcp y tiene el valor: [80, 81, 8080].

    min ($parameters.ports) devuelve 80.

max()

La función max () toma una lista o una serie de números o puertos TCP como argumentos y devuelve el elemento más grande.

Ejemplos con una serie de números/tcp-ports:

  • max (80, 100, 1000) devuelve 1000
  • max (-20, 100, 400) devuelve 400
  • max (-80, -20, -10) devuelve -10
  • max (0, 100, -400) devuelve 100

Ejemplos con una lista de números/tcp-ports:

  • Support $parameters.ports es una lista de puertos tcp y tiene el valor: [80, 81, 8080].

    max ($parameters.ports) devuelve 8080.

bin()

La función bin () toma un número como argumento y devuelve una cadena que representa el número en formato binario.

Ejemplos de expresiones:

bin (100) devuelve «0b1100100”

oct()

La función oct () toma un número como argumento y devuelve una cadena que representa el número en formato octal.

Ejemplos de expresiones:

oct (100) devuelve «0144”

hex()

La función hex () toma un número como argumento y devuelve una cadena en minúscula que representa el número en formato hexadecimal.

Ejemplos de expresiones:

hex (100) devuelve «0x64”

lower()

La función lower () toma una cadena como argumento y devuelve la misma cadena en minúsculas.

Ejemplo:

lower («MAS») devuelve «mas»

upper()

La función upper () toma una cadena como argumento y devuelve la misma cadena en mayúsculas.

Ejemplo:

upper («netscaler_mas») devuelve «NET SCALER_MAS»

sum()

La función sum () toma una lista de números o tcpports como argumentos y devuelve la suma de los números de la lista.

Ejemplo 1:

Si define una sustitución de la siguiente manera: sustituciones:

  • lista de números:

    • 11
    • 22
    • 55

    sum ($substitutions.list-of-numbers) devuelve 88

Ejemplo 2:

Si $parameters.ports es [80, 81, 82], sum ($parameters.ports) devuelve 243

pow()

La función pow () toma dos números como argumentos y devuelve un número que representa el primer argumento elevado a la potencia del segundo.

Ejemplo:

pow (3,2) devuelve 9

ip()

La función ip toma una cadena o una dirección IP como argumento y devuelve la dirección IP en función del valor de entrada.

Ejemplos:

  • ip («2.1.1.1”) devuelve «2.1.1.1»
  • ip (3.1.1.1) devuelve «3.1.1.1»

base64.encode()

La función base64.encode () toma un argumento de cadena y devuelve la cadena codificada en base64.

Ejemplo:

base64.encode («abcd») devuelve «ywJjza==»

base64.decode()

La función base64.decode toma la cadena codificada en base64 como argumento y devuelve la cadena decodificada.

Ejemplo:

base64.decode («ywJjza==») devuelve «abcd»

exists()

La función exists toma un argumento de cualquier tipo y devuelve un valor booleano. El valor devuelto es True si la entrada tiene algún valor. El valor devuelto es False si el argumento de entrada no tiene un valor (es decir, ningún valor).

Tenga en cuenta que $parameters.monitor es un parámetro opcional. Si proporcionas un valor a este parámetro al crear un paquete de configuración, exists ($parameters.monitor) devuelve True.

De lo contrario, devuelve False.

filter()

La función filter () toma dos argumentos.

Argumento 1: una función de sustitución que toma un argumento y devuelve un valor booleano.

Argumento 2: una lista.

La función devuelve un subconjunto de la lista original donde cada elemento se evalúa como «Verdadero» cuando se pasa a la función de sustitución en el primer argumento.

Ejemplo:

Supongamos que hemos definido una función de sustitución de la siguiente manera.

sustituciones:

x(a): $a != 81

Esta función devuelve True si el valor de entrada no es igual a 81. De lo contrario, devuelve False.

Supongamos que

$parameters.ports es [81, 80, 81, 89]

filter ($substitutions.x, $parameters.ports) devuelve [80, 89] eliminando todas las apariciones de 81 de la lista.

if-then-else()

La función if-then-else () toma tres argumentos.

Argumento 1: Expresión booleana

Argumento 2: Cualquier expresión

Argumento 3: Cualquier expresión (opcional)

Si la expresión del argumento 1 se evalúa como verdadera, la función devuelve el valor de la expresión proporcionada como argumento 2.

De lo contrario, si se proporciona el argumento 3, la función devuelve el valor de la expresión en el argumento 3.

Si no se proporciona el argumento 3, la función no devuelve ningún valor.

Ejemplo 1:

if-then-else ($parameters.servicetype == HTTP, 80, 443) devuelve «80” si $parameters.servicetype tiene el valor «HTTP». « De lo contrario, la función devuelve «443”.

Ejemplo 2:

if-then-else ($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport) devuelve el valor de «$parameters.hport» si $parameters.servicetype tiene el valor «HTTP». «

De lo contrario, la función devuelve el valor de «$parameters.sport». «

Ejemplo 3:

if-then-else ($parameters.servicetype == HTTP, 80) devuelve «80” si $parameters.servicetype tiene el valor «HTTP». «

De lo contrario, la función no devuelve ningún valor.

join()

La función join () toma dos argumentos:

Argumento 1: lista de números, puertos TCP, cadenas o direcciones IP

Argumento 2: cadena delimitadora (opcional)

La función une los elementos de la lista proporcionada como argumento uno en una cadena, donde cada elemento está separado por la cadena delimitadora proporcionada como argumento dos. Si no se proporciona el argumento dos, los elementos de la lista se unen en una sola cadena.

Ejemplo:

  • $parameters.ports es [81, 82, 83].

    • Con argumento delimitador:

      join ($parameters.ports, ‘-‘) devuelve «81-82-83”

    • Sin argumento delimitador:

      join ($parameters.ports) devuelve «818283”

map()

La función de mapa toma dos argumentos;

Argumento 1: Cualquier función

Argumento 2: Una lista de elementos.

La función devuelve una lista en la que cada elemento de la lista es el resultado de aplicar la función de mapa (argumento uno) al elemento correspondiente del argumento dos.

Funciones permitidas en el argumento 1:

  • Funciones integradas que toman un argumento:

    base64.encode, base64.decode, bin, bool, exists, hex, int, ip, len, lower, upper, oct, quotewrap, str, trim, upper, url.encode, url.decode

  • Funciones de sustitución que toman al menos un argumento.

Ejemplo:

Supongamos que $parameters.nums es [81, 82, 83].

  • Mapa mediante una función integrada, str

    map (str, $parameters.nums) devuelve [“81”, «82”, «83”]

    El resultado de la función de mapa es la lista de cadenas donde cada elemento es cadena se calcula aplicando la función str en el elemento correspondiente en la lista de entrada ($parameters.nums).

  • Mapear mediante una función de sustitución

    • Sustituciones:

      add-10 (puerto): $puerto + 10

    • Expresión :

      mapa ($substitutions.add-10,

      $parameters.nums) devuelve una lista de números: [91, 92, 93]

El resultado de esta función de mapa es una lista de números. Cada elemento se calcula aplicando la función de sustitución $substitutions.add-10 en el elemento correspondiente de la lista de entrada ($parameters.nums).

quotewrap()

La función quotewrap toma una cadena como argumento y devuelve una cadena después de agregar comillas dobles antes y después del valor de entrada.

Ejemplo:

quotewrap («mas») devuelve «» mas»

replace()

La función de reemplazo utiliza tres argumentos:

Argumento 1: cadena

Argumento 2: cadena

Argumento 3: cadena (opcional)

La función reemplaza todas las apariciones del argumento dos por el argumento tres en el argumento uno.

Si no se proporciona el argumento tres, todas las apariciones del argumento dos se eliminan del argumento uno (en otras palabras, se reemplazan por una cadena vacía).

Reemplazar una subcadena por otra subcadena:

  • replace (‘abcdef’, ‘def’, ‘xyz’) devuelve «abcxyz».
    • Todas las apariciones de «def» se sustituyen por «xyz».
  • replace (‘abcdefabc’, ‘def’) devuelve «abcabc».
    • Como no hay un tercer argumento, se elimina «def» de la cadena resultante.

trim()

La función trim devuelve una cadena en la que los espacios en blanco iniciales y finales se eliminan de la cadena de entrada.

Ejemplo:

trim (‘abc’) devuelve «abc»

truncate()

La función truncar utiliza dos argumentos:

Argumento 1: cadena

Argumento 2: número

La función devuelve una cadena en la que la cadena de entrada del argumento uno se trunca a la longitud especificada por el argumento dos.

Ejemplo:

truncate (‘netscaler mas’, 9) devuelve «netscaler»

url.encode

La función url.encode devuelve una cadena en la que los caracteres se transforman utilizando el conjunto de caracteres ASCII de acuerdo con el RFC 3986.

Ejemplo:

url.encode («a/b/c») devuelve «a%2Fb%2Fc»

url.decode

La función url.decode devuelve una cadena en la que el argumento codificado en la URL se decodifica en una cadena normal de acuerdo con el RFC 3986.

Ejemplo:

url.decode(“a%2Fb%2Fc”) devuelve “a/b/c”

is-ipv4()

La función is-ipv4 () toma una dirección IP como argumento y devuelve «true» si la dirección IP tiene el formato IPv4.

is-ipv4 (10.10.10.10) devuelve «Verdadero»

is-ipv6()

La función is-ipv6 () toma una dirección IP como argumento y devuelve «true» si la dirección IP tiene el formato IPv6.

is-ipv6 (2001:DB8::) devuelve «Verdadero»

Funciones integradas