В службе Application Services поддерживаются свойства типа «Строка», «Массив», «Содержимое», «Вычисляемое», «Логическое», «Одиночный выбор», «Целое число» и «Double-данные».

Примечание: Имена свойств учитывают регистр и могут содержать только алфавитные, цифровые символы, символы дефиса (-) и подчеркивания (_).

Свойство типа «строка»

Значением свойства типа «строка» может быть строка или значение, привязанное к другому свойству типа «строка». Значение типа «строка» может содержать любые символы ASCII. Для привязанного свойства используйте вкладку Свойства на холсте схемы элементов, чтобы выбрать соответствующее свойство для привязки. Затем значение свойства передается в сценарии действий в виде необработанных строковых данных.

Образец вычисляемого свойства Синтаксис сценария Пример использования
admin_email = "admin@email987.com" Bash - $admin_email
echo $admin_email
Windows CMD - %admin_email%
echo %admin_email%
Windows PowerShell - $admin_email
write-output  $admin_email
BeanShell - admin_email
print(admin_email);

Свойство типа «массив»

Значением свойства типа «массив» может быть массив строк, определенный как [«значение1», «значение2», «значение3»…], или значение, привязанное к другому свойству типа «массив». При определении значений для свойства типа «массив» необходимо заключить массив строк в квадратные скобки. Для массива строк значение в элементах массива может содержать любые символы ASCIl. Чтобы должным образом закодировать символ обратной косой черты в значении свойства типа «Массив», добавьте дополнительную обратную косую черту, например ["c:\\test1\\test2"]. Для привязанного свойства используйте вкладку Свойства на холсте схемы элементов, чтобы выбрать соответствующее свойство для привязки.

Например, рассмотрим виртуальную машину подсистемы балансировки нагрузки, которая балансирует нагрузку кластера виртуальных машин сервера приложений. В таком случае для подсистемы балансировки нагрузки определяется свойство типа «массив», которому присваивается массив IP-адресов виртуальных машин сервера приложений.

В приведенных ниже сценариях настройки подсистемы балансировки нагрузки свойство типа «массив» используется для настройки соответствующей схемы балансировки нагрузки в операционных системах Red Hat, Windows и Ubuntu.

Образец свойства типа «массив» Синтаксис сценария Пример использования
operating_systems = ["Red Hat","Windows","Ubuntu"]

Bash - ${operating_systems[@]}

для всего массива строк

${operating_systems[N]}

для отдельного элемента массива

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

Windows CMD — %operating_systems_N%

где N соответствует позиции элемента в массиве

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

Windows PowerShell - $operating_systems

для всего массива строк

$operating_systems[N]

для отдельного элемента массива

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

BeanShell - operating_systems[N]

где N соответствует позиции элемента в массиве

for(index=0;index < operating_systems.length; index++) {
   print(operating_systems[index]);
}

Свойство типа «содержимое»

Значением свойства типа «Содержимое» выступает URL-адрес, по которому можно загрузить файл с содержимым. Агент Application Services загружает содержимое с URL-адреса на виртуальную машину и передает расположение локального файла в сценарий.

Свойства типа «содержимое» должны быть определены в виде действующего URL-адреса по протоколу HTTP или HTTPS. Например, артефакты Hyperic размещены на устройстве Application Services и URL-адрес указывает на их расположение. Агент Application Services загружает артефакты из указанного расположения на развернутую виртуальную машину.

Образец вычисляемого свойства Синтаксис сценария Пример использования
HQ_PACKAGE = "http://DarwinServerIP/artifacts/services/hyperic/hyperic-hq-agent-linux.tar.gz" Bash - $HQ_PACKAGE
tar -zxvf $HQ_PACKAGE
Windows CMD - %HQ_PACKAGE%
start /wait c:\unzip.exe
%HQ_PACKAGE%
Windows PowerShell - $HQ_PACKAGE
 & c:\unzip.exe
$HQ_PACKAGE
BeanShell - HQ_PACKAGE
import java.io.BufferedOutputStream;
	import java.io.File;
	import java.io.FileInputStream;
	import java.io.FileOutputStream;
	import java.util.zip.ZipEntry;
	import java.util.zip.ZipInputStream;

	destDir = new File(bsh.cwd);
            if (!destDir.exists()) {
                destDir.mkdir();
            }
            zipIn = new ZipInputStream(new FileInputStream(HQ_PACKAGE));
            entry = zipIn.getNextEntry();
            // iterates over entries in the zip file
            while (entry != null) {
                String filePath = bsh.cwd + File.separator + entry.getName();
                if (!entry.isDirectory()) {
                    // if the entry is a file, extracts it
                    bos = new BufferedOutputStream(new FileOutputStream(filePath));
                    bytesIn = new byte[4096];
                    read = 0;
                    while ((read = zipIn.read(bytesIn)) != -1) {
                        bos.write(bytesIn, 0, read);
                    }
                    bos.close();
                } else {
                    // if the entry is a directory, make the directory
                    dir = new File(filePath);
                    dir.mkdir();
                }
                zipIn.closeEntry();
                entry = zipIn.getNextEntry();
            }
            zipIn.close();

Вычисляемое свойство

Вычисляемый тип свойства не позволяет задать первоначальное значение при определении свойства. Вместо этого вычисляемый тип свойства берет значение из сценариев жизненного цикла INSTALL, CONFIGURE или START. Присвоенное значение распространяется на последующий доступный жизненный цикл и зависимые компоненты.

Примечание: Вычисляемые свойства, определенные в сценариях действий, недоступны сценарию жизненного цикла UPDATE, ROLLBACK или TEARDOWN. Значение вычисляемого свойства необходимо задавать в соответствующих сценариях жизненного цикла.
Образец вычисляемого свойства Синтаксис сценария Пример использования
my_unique_id = "" Bash - $my_unique_id
export my_unique_id="0123456789"
Windows CMD - %my_unique_id%
set my_unique_id=0123456789
Windows PowerShell - $my_unique_id
$my_unique_id = "0123456789"
BeanShell - my_unique_id
my_unique_id = "0123456789";

Свойство типа «Логическое»

Свойство типа «Логическое» позволяет выбирать в раскрывающемся меню значение «Да» или «Нет». Выбранное значение изменяется на True или False, когда пользователь щелкает другую часть страницы. Функция Application Services показывает значения «Да» и «Нет», чтобы избежать путаницы и обеспечить однородность с интерфейсом консоли vRealize Automation. В то же время эта функция меняет «Да» на True и «Нет» на False, которые используются в сценариях.

Свойство типа «Одиночный выбор»

Свойство типа «Одиночный выбор» позволяет задать несколько строковых значений, из которых пользователь сможет выбрать только одно значение.

Свойство «Целое число»

Свойство типа «Целое число» в качестве значения может принимать нуль, положительные целые числа и отрицательные целые числа.

Свойство типа «Double-данные»

Свойство типа «Целое число» позволяет хранить значения с плавающей запятой с точностью до четырех цифр.

Справочник по типам свойств

В справочнике по типам свойств показано, к каким типам свойств можно обращаться в целях настройки.

Тип свойства Тип свойства для привязки Предоставление автоматической привязки Использование автоматической привязки Принятие первоначального значения свойства
Строка Строка, массив, содержимое и вычисляемое Да Да Да
Содержимое Н/д Н/д Н/д Да
Массив Строка, содержимое и вычисляемое Н/д Да Да
Вычисляемое Н/д Да Н/д Н/д

Свойства типа «массив» могут также привязываться к предварительно определенному свойству массива узлов «all» в кластере. Свойство «all» в регулярном выражении является методом для сбора всех значений заданного свойства в кластерном узле.

Для получения дополнительных сведений о привязке свойств см. Привязка к другим свойствам. Для понимания принципов предоставления и использования автоматической привязки см. Автоматическая привязка к другим свойствам.

Пример значения свойства типа «строка» при привязке к различным типам свойств.

Образец типа свойства Тип свойства для привязки Результат привязки (A привязывается к B)
Строка (свойство A) Строка (свойство B="Hi") A="Hi"
Строка (свойство A) Содержимое (свойство B="http://my.com/content") A="http://my.com/content"
Строка (свойство A) Массив (свойство B=["1","2"]) A="["1","2"]"
Строка (свойство A) Вычисляемое (свойство B="Hello") A="Hello"

Пример значения свойства типа «массив» при привязке к различным типам свойств.

Образец типа свойства Тип свойства для привязки Результат привязки (A привязывается к B)
Массив (свойство A) Строка (свойство B="Hi") A="Hi"
Массив (свойство A) Содержимое (свойство B="http://my.com/content") A="http://my.com/content"
Массив (свойство A) Вычисляемое (свойство B="Hello") A="Hello"