Funciones integradas
Las expresiones de StyleBooks pueden usar 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:
string
number
TCP-port
boolean
IP address
Ejemplos:
- La
"set-" + str(10)
función devuelve"set-10"
. - La
str(10)
función devuelve10
. - La
str(1.1.1.1)
función devuelve1.1.1.1
. - La
str(T rue)
función devuelve"T rue"
. - La
str(ADM)
función devuelve"mas"
.
int()
La int()
función toma una cadena, un número, una dirección IP, o tcpport
como argumento y devuelve un entero.
Ejemplos:
- La
int("10")
función devuelve10
. - La
int(10)
función devuelve10
. - La
int(ip('0.0.4.1'))
función devuelve1025
.
bool()
La bool()
función toma cualquier tipo como argumento. Si el valor del argumento es false
, vacío o ausente, esta función devuelve false
.
De lo contrario, regresa true
.
Ejemplos:
- La
bool(true)
función devuelvetrue
. - La
bool(false)
función devuelvefalse
. - La
bool($parameters.a)
función devuelvefalse
si el$parameters.a
esfalse
, vacío o ausente.
len()
La len()
función 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:
items: ["123", "abc", "xyz"]
La len($substitutions.items)
función devuelve 3
Ejemplo 2:
La len("Citrix ADM")
función devuelve 10
.
Ejemplo 3:
Si $parameters.vips
tiene valores ['1.1.1.1', '1.1.1.2', '1.1.1.3']
, la len($parameters.vips)
función devuelve 3
.
min()
La min()
función toma ya sea 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:
- La
min(80, 100, 1000)
función devuelve80
. - La
min(-20, 100, 400)
función devuelve-20
. - La
min(-80, -20, -10)
función devuelve-80
. - La
min(0, 100, -400)
función devuelve-400
.
Ejemplos con una lista de números/tcp-ports:
-
$parameters.ports
El soporte es una lista detcp-ports
y tiene valores:[80, 81, 8080]
.La
min($parameters.ports)
función devuelve80
.
max()
La max()
función toma ya sea 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:
- La
max(80, 100, 1000)
función devuelve1000
. - La
max(-20, 100, 400)
función devuelve400
. - La
max(-80, -20, -10)
función devuelve-10
. - La
max(0, 100, -400)
función devuelve100
.
Ejemplos con una lista de números/tcp-ports:
-
$parameters.ports
El soporte es una lista detcp-ports
y tiene valores:[80, 81, 8080]
.La
max($parameters.ports)
función devuelve8080
.
bin()
La bin()
función toma un número como argumento y devuelve una cadena que representa el número en formato binario.
Ejemplos de expresiones:
La bin(100)
función devuelve 0b1100100
.
oct()
La oct()
función toma un número como argumento y devuelve una cadena que representa el número en formato octal.
Ejemplos de expresiones:
La oct(100)
función devuelve 0144
.
hex()
La hex()
función toma un número como argumento y devuelve una cadena en minúsculas que representa el número en formato hexadecimal.
Ejemplos de expresiones:
La hex(100)
función devuelve 0x64
.
lower()
La lower()
función toma una cadena como argumento y devuelve la misma cadena en minúsculas.
Ejemplo:
La lower("ADM")
función devuelve adm
.
upper()
La upper()
función toma una cadena como argumento y devuelve la misma cadena en mayúsculas.
Ejemplo:
La upper("Citrix ADM")
función devuelve CITRIX ADM
.
sum()
La sum()
función toma una lista de números o tcpports
como argumentos y devuelve la suma de los números en la lista.
Ejemplo 1:
Si define una sustitución de la siguiente manera: sustituciones:
list-of-numbers = [11, 22, 55]
La sum($substitutions.list-of-numbers)
función devuelve 88
.
Ejemplo 2:
Si $parameters.ports
es [80, 81, 82]
, la sum($parameters.ports)
función devuelve 243
.
pow()
La pow()
función toma dos números como argumentos y devuelve un número que representa el primer argumento elevado a la potencia del segundo.
Ejemplo:
La pow(3,2)
función devuelve 9
.
ip()
La ip()
función toma un entero, una cadena o una dirección IP como argumento y devuelve la dirección IP basada en el valor de entrada.
Ejemplos:
-
Especifique una dirección IP en la
ip
función:La
ip(3.1.1.1)
función devuelve3.1.1.1
. -
Especifique una cadena en la
ip
función:La
ip('2.1.1.1')
función devuelve2.1.1.1
-
Especifique un entero en la
ip
función:-
La
ip(12)
función devuelve0.0.0.12
. -
Cuando se especifica un entero como cadena en la
ip
función, devuelve una dirección IP equivalente de la entrada.La
ip('1025')
función devuelve0.0.4.1
.
Esta función también admite las operaciones de suma y resta enteros y devuelve una dirección IP resultante.
-
Adición: La
ip(1025) + ip(12)
función devuelve0.0.4.13
. -
Resta: la
ip('1025') - ip(12)
función devuelve0.0.3.245
. -
Combinar suma y resta: Los
ip('1.1.1.1') + ip('1.1.1.1') – ip(2)
retornos2.2.2.0
.
-
ip_network ()
La ip_network
función toma la dirección IP y la longitud de la máscara de red como argumentos y devuelve una notación de red IP.
Example-1:
La ip_network(1.1.1.1, 28)
función devuelve 1.1.1.1/28
.
Example-2:
Considere la red 1.1.1.1/30
. La ip_network($parameters.ipaddr, 30)
función devuelve 1.1.1.1
.
Example-3:
Considere la red 23.1.12.76/24
. La ip_network(23.1.12.76, $parameters.netmask-len)
función devuelve 24
.
network_ip ()
La network_ip()
función devuelve la primera dirección IP de la red IP especificada.
Ejemplo:
La network_ip(1.1.1.1/28)
función devuelve 1.1.1.0
. En este ejemplo, 1.1.1.0
es la primera dirección IP en la red dada.
subredes ()
La subnets()
función devuelve la lista de subredes de la red IP especificada y la longitud de la máscara de red.
Ejemplo:
La subnets(1.1.1.1/28, 30)
función devuelve la lista de subredes de la red IP dada y la longitud de la máscara de red. La salida puede ser la siguiente:
[1.1.1.0/30', '1.1.1.4/30', '1.1.1.8/30', '1.1.1.12/30']
netmask_ip ()
La netmask_ip()
función devuelve la dirección IP de la máscara de red para la red IP especificada.
Ejemplo:
La netmask_ip(1.1.1.1/28)
función devuelve 255.255.255.0
. En la red IP dada, 255.255.255.0
es la dirección IP de la máscara de red.
broadcast_ip ()
La broadcast_ip()
función devuelve la dirección IP de difusión de la red IP especificada.
Ejemplo:
La broadcast_ip(1.1.1.1/28)
función devuelve 1.1.1.15
. En la red dada, 1.1.1.1
es la dirección IP de difusión.
cidr ()
La cidr()
función devuelve la notación CIDR para la red IP especificada.
Ejemplo:
La cidr(1.1.1.1/28)
función devuelve el 1.1.1.0/28
. En la red dada, 1.1.1.0/28
es la notación CIDR.
is_cidr ()
La is_cidr()
función acepta un ipnetwork
como entrada. Y, devuelve True
si el valor especificado coincide con la notación CIDR de la red IP.
Example-1:
La is_cidr(1.1.1.0/24)
función devuelve True
porque el valor especificado es la notación CIDR de la red dada.
Example-2:
La is_cidr(1.1.1.1/28)
función devuelve False
porque la notación CIDR de la red dada es diferente del valor especificado.
is_in_network ()
La is_in_network()
función acepta ipnetwork
y ipaddress
valores. Y, devuelve True
si la dirección IP especificada existe en la red IP especificada.
Example-1:
La is_in_network(1.1.1.1/24, 1.1.1.121)
función devuelve True
porque la 1.1.1.121
dirección es parte de la 1.1.1.1/24
red.
Example-2:
La is_in_network(1.1.1.1/28, 2.1.1.1)
función devuelve Fasle
porque la 2.1.1.1
dirección no es parte de la 1.1.1.1/28
red.
base64.encode()
La base64.encode()
función toma un argumento de cadena y devuelve la cadena codificada base64.
Ejemplo:
La base64.encode("abcd")
función devuelve YWJjZA==
.
base64.decode()
La base64.decode
función toma una cadena codificada base64 como argumento y devuelve la cadena decodificada.
Ejemplo:
La base64.decode("YWJjZA==")
función devuelve abcd
.
exists()
La exists()
función 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, no hay valor).
Tenga en cuenta que el $parameters.monitor
es un parámetro opcional. Si proporciona un valor a este parámetro al crear un paquete de configuración, existe la ($parameters.monitor)
función devuelve True
.
De lo contrario, regresa False
.
filter()
La filter()
función 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 evalúa 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, regresa False
.
Supongamos$parameters.ports
que es [81, 80, 81, 89]
.
Los 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 en el 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 devuelve no
.
Ejemplo 1:
La función if-then-else($parameters.servicetype == HTTP, 80, 443)
devuelve 80
si $parameters.servicetype
tiene valor HTTP
. De lo contrario, la función devuelve 443
.
Ejemplo 2:
La función if-then-else($parameters.servicetype == HTTP, $parameters.hport, $parameters.sport)
devuelve el valor de $parameters.hport
if $parameters.servicetype
tiene 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 valor HTTP
.
De lo contrario, la función no devuelve ningún valor.
join()
La join()
función toma dos argumentos:
Argumento 1: lista de números tcp-ports
, cadenas o direcciones IP
Argumento 2: Cadena delimitadora (opcional)
Esta función une los elementos de la lista proporcionada como argumento uno en una cadena, donde cada elemento está separado por la cadena delimitador proporcionada como argumento dos. Si no se proporciona el argumento dos, entonces los elementos de la lista se unen como una sola cadena.
Ejemplo:
-
$parameters.ports
es[81, 82, 83]
.-
Con argumento delimitador:
La
join($parameters.ports, '-')
función devuelve81-82-83
. -
Sin argumento delimitador:
La
join($parameters.ports)
función devuelve818283
.
-
split ()
La split()
función divide una cadena de entrada en varias listas dependiendo de los separadores especificados. Si no se especifica ningún separador o en blanco (''
), esta función considera el espacio como un separador y divide la cadena en listas.
Ejemplos:
-
La
split('Example_string_split', 's')
función devuelve['Example_','tring_','plit']
. -
La
split('Example string split')
función devuelve['Example','string','split']
. -
La
split('Example string split', '')
función devuelve['Example','string','split']
. -
La
split('Example string')
función devuelve['Example','string']
.Esta función considera los espacios continuos como un espacio.
map()
La map()
función 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 map()
función (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 usando una función incorporada, str
La
map(str, $parameters.nums)
función 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:
La
map($substitutions.add-10, $parameters.nums)
función 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 en la lista de entrada ($parameters.nums)
.
quotewrap()
La función quotewrap()
toma una cadena como argumento y devuelve una cadena después de agregar un carácter de comilla doble antes y después del valor de entrada.
Ejemplo:
La quotewrap("ADM")
función devuelve "mas"
replace()
La replace()
función toma tres argumentos:
Argumento 1: Cadena
Argumento 2: cadena o lista
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:
-
La
replace('abcdef', 'def', 'xyz')
función devuelveabcxyz
.Todas las ocurrencias de
def
se reemplazan porxyz
. -
replace('abcdefabc', 'def')
devuelveabcabc
.Como no hay un tercer argumento,
def
se elimina de la cadena resultante.
Especifique la lista de caracteres que quiere reemplazar en una cadena.
$parameters.spl_chars = ['@', '#', '!', '%']
Esta lista contiene los valores que deben reemplazarse en una cadena de entrada.
La replace('An#example@to%replace!characters', $parameters.spl_chars, '_')
función devuelve An_example_to_replace_characters
.
La cadena de salida tiene guión bajo (_
) en lugar de caracteres especificados en la $parameters.spl_chars
lista.
trim()
La trim()
función devuelve una cadena donde los espacios en blanco iniciales y finales se eliminan de la cadena de entrada.
Ejemplo:
La trim(' abc ')
función devuelve abc
.
truncate()
La truncate()
función 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:
Los truncate('Citrix ADM', 6)
retornos Citrix
.
distinto ()
La distinct()
función extrae elementos únicos de una entrada de lista.
Ejemplos:
Si $parameters.input_list
es ['ADM', 'ADC', 'VPX', 'ADC', 'ADM', 'CPX']
, la distinct($parameters.input_list)
función devuelve ['ADM', 'ADC', 'VPX', 'CPX']
.
url.encode ()
La url.encode()
función devuelve una cadena donde los caracteres se transforman mediante el juego de caracteres ASCII de acuerdo con RFC 3986.
Ejemplo:
La url.encode("a/b/c")
función devuelve a%2Fb%2Fc
.
url.decode ()
La url.decode()
función devuelve una cadena donde el argumento codificado URL se decodifica en una cadena regular de acuerdo con RFC 3986.
Ejemplo:
La url.decode("a%2Fb%2Fc")
función devuelve a/b/c
.
is-ipv4()
La is-ipv4()
función toma una dirección IP como argumento y devuelve el booleano True
si la dirección IP es del formato IPv4.
La is-ipv4(10.10.10.10)
función devuelve True
is-ipv6()
La is-ipv6()
función toma una dirección IP como argumento y devuelve el booleano True
si la dirección IP es del formato IPv6.
La is-ipv6(2001:DB8::)
función devuelve True
comienza con ()
Lastartswith()
función determina si una cadena comienza con un prefijo dado. Esta función requiere dos argumentos de cadena obligatorios.
startswith(str, sub_str)
Esta función devuelve True
cuando la cadena (str
) comienza con la subcadena (sub_str
).
Ejemplos:
- La
startswith('Citrix', 'Ci')
función devuelveTrue
. - La
startswith('Citrix', 'iC')
función devuelveFalse
- La
startswith('Citrix', 'Ab')
función devuelveFalse
finalcon ()
Laendswith()
función determina si una cadena termina con un sufijo dado. Esta función requiere dos argumentos de cadena obligatorios.
endswith(str, sub_str)
Esta función devuelve True
cuando la cadena (str
) termina con la subcadena (sub_str
).
Ejemplos:
- La
endswith('Citrix', 'ix')
función devuelveTrue
. - La
endswith('Citrix', 'Ix')
función devuelveFalse
. - La
endswith('Citrix', 'ab')
función devuelveFalse
.
contiene ()
Lacontains()
función determina si una cadena contiene una subcadena dada. Esta función requiere dos argumentos de cadena obligatorios.
contains(str, sub_str)
Esta función devuelveTrue
cuando la subcadena (sub_str
) está contenida en cualquier lugar dentro de la cadena (str
).
Ejemplo:
- La
contains('Citrix', 'tri')
función devuelveTrue
. - La
contains('Citrix', 'Ci')
función devuelveTrue
. - La
contains('Citrix', 'ti')
función devuelveFalse
subcadena ()
Utilice la substring()
función para extraer una subcadena de una cadena.
substring(str, start_index, end_index)
Esta función requiere los dos argumentos obligatorios y un argumento entero opcional.
-
str
( Obligatorio) -
start_index
( Obligatorio) -
end_index
( Opcional)
Esta función devuelve la subcadena de la cadena (str
) que se encuentra entre las posiciones de índice especificadas. Si no especifica la posición del índice final, la función extrae la subcadena desde el índice inicial hasta el final de la cadena.
Nota
Cuando se especifica
end_index
, la subcadena excluye el carácter en laend_index
posición.
Ejemplo:
-
La
substring('Citrix', 2)
función devuelvetrix
-
La
substring('Citrix', 10)
función devuelve ("
)En este ejemplo, la función devuelve una cadena en blanco porque tiene una
start_index
posición no válida. -
La
substring('Citrix', 2, 4)
función devuelvetr
En este ejemplo, la función extrae los caracteres entre 2 y 4 posiciones de índice.
-
La
substring('Citrix', -3)
función devuelverix
Si desea extraer caracteres que están al final de la cadena, especifique un valor negativo para el
start_index
argumento.En este ejemplo, la función extrae la subcadena que incluye los tres últimos caracteres de la cadena.
En este artículo
- str()
- int()
- bool()
- len()
- min()
- max()
- bin()
- oct()
- hex()
- lower()
- upper()
- sum()
- pow()
- ip()
- ip_network ()
- network_ip ()
- subredes ()
- netmask_ip ()
- broadcast_ip ()
- cidr ()
- is_cidr ()
- is_in_network ()
- base64.encode()
- base64.decode()
- exists()
- filter()
- if-then-else()
- join()
- split ()
- map()
- quotewrap()
- replace()
- trim()
- truncate()
- distinto ()
- url.encode ()
- url.decode ()
- is-ipv4()
- is-ipv6()
- comienza con ()
- finalcon ()
- contiene ()
- subcadena ()