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

Параметры свойств

Чтобы вычислить значение любого свойства строкового типа, установите флажок «Вычисляемое». Чтобы сделать любое свойство зашифрованным, обязательным или допускающим переопределение, установите соответствующие флажки во время настройки свойств Программное обеспечение. Укажите для этих параметров значения в зависимости от цели. Например, вам необходимо потребовать от архитекторов схем элементов предоставить значение для пароля и зашифровать это значение, когда они используют ваш программный компонент в схеме элементов. Создайте свойство пароля, но оставьте текстовое поле пустым. Выберите «Допускает переопределение», «Обязательно» и «Зашифровано». Если ожидаемый пароль принадлежит конечному пользователю, архитектор схем элементов может выбрать параметр Показывать в запросе, чтобы требовать от пользователей ввода пароля при заполнении формы запроса.

Параметр

Описание

Зашифровано

Пометьте свойства как зашифрованные, чтобы скрыть значение. Оно будет отображаться в виде звездочек в vRealize Automation. Если изменить пометку свойства с «Зашифрованное» на «Незашифрованное», vRealize Automation сбросит значение свойства. Из соображений безопасности для свойства нужно задать новое значение.

Допускает переопределение

Если выбрать этот параметр, архитекторы смогут изменять значение этого свойства при сборке схемы элементов приложения. Если ввести значение, оно отобразится в качестве значения по умолчанию.

Обязательно

Если выбрать этот параметр, архитекторам потребуется указать значение этого свойства или принять предоставляемое значение по умолчанию.

Вычисляемое

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

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

Таблица 1. Примеры сценариев для параметра вычисляемого свойства

Образец строкового свойства

Синтаксис сценария

Пример использования

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"

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

Строковые свойства ожидают получить строковые значения. Можно указывать строковое значение самостоятельно, требовать от кого-либо предоставить значение или получать значение от другого компонента схемы элементов путем создания привязки к другому строковому свойству. Строковые значения могут содержать любые символы 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

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

Свойства типа «массив» ожидает массив строк, целых чисел, десятичных чисел или логических значений, определенных как [value1, value2, value3…]. Можно указывать значения самостоятельно, требовать от кого-либо предоставить значения или получать значения от другого компонента схемы элементов путем создания привязки к свойству. При определении значений для свойства типа «массив» необходимо заключить массив в квадратные скобки. Для массива строк значение в элементах массива может содержать любые символы 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
}

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

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

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

Сведения о параметрах software.http.proxy, которые используются для свойств содержимого, см. в Таблица настраиваемых свойств S.

Образец вычисляемого свойства

Синтаксис сценария

Пример использования

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

Windows CMD — %cheetah_tgz_url%

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

Windows PowerShell - $cheetah_tgz_url

 & c:\unzip.exe
$cheetah_tgz_url

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

Используйте свойства типа «логическое» для предоставления в раскрывающемся меню «Значение» вариантов «Истина» и «Ложь».

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

Используйте свойство целочисленного типа для нулевых, положительных и отрицательных целых значений.

Свойство «Десятичное число»

Используйте свойство типа «десятичное число» для значений, представляющих собой непериодические десятичные дроби.