Si desea diseñar sus scripts de acción para que sean genéricos y puedan reutilizarse, defina y consuma pares de nombre y valor, denominados propiedades de software, y pase estas propiedades como parámetros a los scripts de acción. Puede crear propiedades de software que esperen valores de tipo cadena, matriz, contenido, booleano o entero. Puede proporcionar el valor usted mismo, solicitar a otra persona que lo proporcione o recuperarlo de otro componente de blueprint mediante la creación de un enlace.

Opciones de propiedades

Puede computar el valor de cualquier propiedad de cadena seleccionando la casilla de verificación computada y puede convertir cualquier propiedad en cifrada, reemplazable o necesaria seleccionando las casillas de verificación adecuadas cuando configure las propiedades de Software. Combine estas opciones con sus valores para lograr diferentes propósitos. Por ejemplo, desea solicitar a los arquitectos de blueprints que proporcionen un valor para una contraseña y que lo cifren cuando usen el componente de software en un blueprint. Cree la propiedad de contraseña, pero deje el cuadro de texto del valor en blanco. Seleccione Reemplazable, Obligatorio y Cifrado. Si la contraseña que espera pertenece a su usuario final, el arquitecto de blueprints puede seleccionar Mostrar en solicitud para requerir que los usuarios escriban la contraseña cuando rellenen el formulario de solicitud.

Opción

Descripción

Cifrado

Marque las propiedades como cifradas para enmascarar el valor y mostrarlo como una serie de asteriscos en vRealize Automation. Si cambia una propiedad de cifrada a no cifrada, vRealize Automation restablecerá el valor de la propiedad. Por seguridad, debe definir un nuevo valor para la propiedad.

Reemplazable

Requiere que los arquitectos editen el valor de la propiedad al ensamblar blueprints de aplicación. Si especifica un valor, se mostrará como valor predeterminado.

Obligatorio

Permite que los arquitectos editen el valor de la propiedad al ensamblar blueprints de aplicación.

Computada

Los valores de las propiedades computadas se asignan mediante los scripts de ciclo de vida de INSTALACIÓN, CONFIGURACIÓN, INICIO o ACTUALIZACIÓN. Los valores asignados se propagan a las etapas del ciclo de vida posteriores y a componentes que se vinculan a esas propiedades en un blueprint. Si se selecciona Computada para una propiedad que no es una propiedad de cadena, el tipo de propiedad se cambia a cadena.

Si selecciona la opción de propiedad computada, deje en blanco el valor de su propiedad personalizada. Diseñe sus scripts para los valores computados.

Tabla 1. Ejemplos de scripts para la opción de propiedad computada

Ejemplo de propiedad de cadena

Sintaxis del script

Ejemplo de uso

my_unique_id = ""

Bash - $my_unique_id

export my_unique_id="0123456789"

Símbolo del sistema de Windows - %my_unique_id%

set my_unique_id=0123456789

Windows PowerShell - $my_unique_id

$my_unique_id = "0123456789"

Propiedad de cadena

Las propiedades de cadena esperan valores de cadena. Puede proporcionar la cadena usted mismo, solicitar a otra persona que proporcione el valor o recuperarlo de otro componente de blueprint mediante la creación de un enlace a otra propiedad de cadena. Los valores de cadena pueden contener cualquier carácter ASCII. Para crear un enlace de propiedad, utilice la pestaña Propiedades del lienzo de diseño para seleccionar la propiedad adecuada para enlazar. A continuación, el valor de la propiedad se transferirá a los scripts de acción como datos de cadena sin procesar. Cuando cree un enlace a una propiedad de cadena de blueprint, asegúrese de que el componente de blueprint al que se enlaza no pueda agruparse en un clúster. Si el componente está en un clúster, el valor de cadena se convierte en una matriz y no se recupera el valor esperado.

Ejemplo de propiedad de cadena

Sintaxis de script

Ejemplo de uso

admin_email = "admin@email987.com"

Bash - $admin_email

echo $admin_email

Símbolo del sistema de Windows - %admin_email%

echo %admin_email%

Windows PowerShell - $admin_email

write-output  $admin_email

Propiedad de matriz

Las propiedades de matriz esperan una matriz de valores de tipo cadena, entero, decimal o booleano definidos como [“value1”, “value2”, “value3”…]. Puede proporcionar los valores usted mismo, solicitar a otra persona que los proporcione o recuperarlos de otro componente de blueprint mediante la creación de un enlace de propiedad. Al definir los valores de una propiedad de matriz, debe incluir la matriz entre corchetes. En una matriz de cadenas, el valor de los elementos de la matriz puede contener cualquier carácter ASCII. Para cifrar correctamente un carácter de barra inversa en un valor de propiedad de matriz, añada una barra inversa adicional, como en este ejemplo: ["c:\\test1\\test2"]. Para una propiedad enlazada, utilice la pestaña Propiedades del lienzo de diseño para seleccionar la propiedad correspondiente para enlazar. Si enlaza a una matriz, debe diseñar los componentes de software para que no esperen una matriz de valores en un orden concreto.

Por ejemplo, piense en una máquina virtual de equilibrador de carga que equilibra la carga para un clúster de máquinas virtuales de servidor de aplicaciones. En tal caso, se define una propiedad de matriz para el servicio del equilibrador de carga y se establece en la matriz de direcciones IP de las máquinas virtuales del servidor de aplicaciones.

Estos scripts de configuración del servicio del equilibrador de carga utilizan la propiedad de matriz para configurar el esquema de equilibrado de carga adecuado en sistemas operativos Red Hat, Windows y Ubuntu.

Ejemplo de propiedad de matriz

Sintaxis de script

Ejemplo de uso

operating_systems = ["Red Hat","Windows","Ubuntu"]

Bash - ${operating_systems[@]}

para toda la matriz de cadenas

${operating_systems[N]}

para un elemento de matriz individual

for (( i = 0 ; i < ${#operating_systems[@]}; i++ )); do
   echo ${operating_systems[$i]}
done

Símbolo del sistema de Windows - %operating_systems_N%

donde N representa la posición del elemento en la matriz

for /F "delims== tokens=2" %%A in ('set operating_systems_') do (
    echo %%A
)

Windows PowerShell - $operating_systems

para toda la matriz de cadenas

$operating_systems[N]

para un elemento de matriz individual

foreach ($os in $operating_systems){
   write-output  $os
}

Propiedad de contenido

El valor de una propiedad de contenido es una URL a un archivo para descargar contenido. El agente de Software descarga el contenido de la URL en la máquina virtual y transfiere la ubicación del archivo local en la máquina virtual al script.

Las propiedades de contenido deben definirse como una URL válida con el protocolo HTTP o HTTPS. Por ejemplo, el componente Software del servidor de aplicaciones JBOSS de la aplicación de muestra de Dukes Bank especifica una propiedad de contenido cheetah_tgz_url. Los artefactos se alojan en el dispositivo de Software y la dirección URL apunta a esa ubicación en el dispositivo. El agente de Software descarga los artefactos de la ubicación especificada en la máquina virtual implementada.

Para obtener información sobre los valores de configuración de software.http.proxy que puede usar con las propiedades de contenido, consulte Referencia de propiedades personalizadas.

Ejemplo de propiedad de cadena

Sintaxis de script

Ejemplo de uso

cheetah_tgz_url = "http://app_content_server_ip:port/artifacts/software/jboss/cheetah-2.4.4.tar.gz"

Bash - $cheetah_tgz_url

tar -zxvf $cheetah_tgz_url

Símbolo del sistema de Windows - %cheetah_tgz_url%

start /wait c:\unzip.exe
%cheetah_tgz_url%

Windows PowerShell - $cheetah_tgz_url

 & c:\unzip.exe
$cheetah_tgz_url

Propiedad booleana

Use el tipo de propiedad booleana para proporcionar opciones de True y False en el menú desplegable Valor.

Propiedad de valor entero

Use el tipo de propiedad de valor entero para los ceros, o los enteros positivos o negativos.

Propiedad decimal

Use el tipo de propiedad decimal para los valores que representan fracciones decimales que no se repiten.