Application Delivery Management

Funciones integradas

Las expresiones en StyleBooks pueden hacer uso de funciones integradas.

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

str($parameters.order)

O bien, puede usar la función incorporada, 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:

  • cadena
  • número
  • 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 rue) devuelve “T rue”
  • str(mas) devuelve “mas”

int()

La función int() toma una cadena, número o 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, vacío o inexistente, esta función devuelve false.

De lo contrario, devuelve verdadero.

Ejemplos:

  • bool(true) devuelve “true”
  • bool(false) devuelve “false”
  • bool($parameters.a) devuelve false si el parámetro
  • $parameters.a es falso, 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 tcp-ports 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 tcp-ports y tiene valor:[80, 81, 8080].

    min ($parameters.ports) devuelve 80.

max()

La función max() toma una lista o una serie de números o tcp-ports 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:

  • Soporte $parameters.ports es la lista de tcp-ports y tiene 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úsculas 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 un ipaddress como argumento devuelve la dirección IP basada en el 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 base64.

Ejemplo:

base64.encode(“abcd”) devuelve “YWJjZA==”

base64.decode()

La función base64.decode toma la cadena codificada 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 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).

Considere que $parameters.monitor es un parámetro opcional. Si proporciona un valor a este parámetro al crear un paquete de configuración, existe ($parameters.monitor) devuelve True.

De lo contrario, devuelve False.

filter()

La función filter() toma dos argumentos.

Argumento 1: 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 “True” 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.

Supuestamente…

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

filter ($substitutions.x, $parameters.ports) devuelve[80, 89] eliminando todas las ocurrencias 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 True, 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, tcp-ports, strings o ipaddresses

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 como una 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 donde cada elemento de la lista es el resultado de aplicar la función mapfunction (argumento uno) al elemento correspondiente en el 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 incorporada, 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).

  • Asignar mediante una función de sustitución

    • Sustituciones:

      add-10 (port): $port + 10

    • Expresión:

      map($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 el carácter de comillas dobles antes y después del valor de entrada.

Ejemplo:

quotewrap(“mas”) returns ““mas””

replace()

La función de reemplazo toma 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 con 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, “def” se elimina de la cadena resultante.

trim()

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

Ejemplo:

trim (‘abc’) devuelve “abc”

truncate()

La función truncar toma dos argumentos:

Argumento 1: Cadena

Argumento 2: Número

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

Ejemplo:

truncate (‘netscaler mas’, 9) devuelve “netscaler”

url.codificar

La función url.encode devuelve una cadena donde los caracteres se transforman mediante el conjunto de caracteres ASCII de acuerdo con RFC 3986.

Ejemplo:

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

url.decode

La función url.decode devuelve una cadena donde el argumento codificado URL se descodifica a una cadena regular de acuerdo con 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 es del 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 es del formato IPv6.

is-ipv6 (2001:DB8።) devuelve «True»

Funciones integradas