Пользовательские сценарии

Важно! Создание пользовательских сценариев требует знания команд оболочки Bash и формата JavaScript Object Notation (JSON). Если вы не знакомы с командной оболочкой Bash, хороший учебник можно найти по ссылке http://www.tldp.org/LDP/abs/html. Спецификация JSON доступна на сайте http://www.json.org.

Файлы сценария

Сценарий должен быть расположен в указанных ниже каталогах на машине, в которой установлен мастер создания загрузочных носителей:

Сценарий должен состоять из по меньшей мере трех файлов:

Структура autostart.json

Объект высшего уровня

Пара

Требуется

Описание

Имя

Тип значения

displayName

string

Да

Имя сценария, которое будет отображаться в Bootable Media Builder.

description

string

Нет

Описание сценария, которое будет отображаться в Bootable Media Builder.

timeout

number

Нет

Время ожидания (в секундах) для меню загрузки перед запуском сценария. Если пара не указана, время ожидания составит десять секунд.

variables

объект

Нет

Любые переменные для <файл_сценария>.sh, которые вы хотите сконфигурировать посредством Bootable Media Builder.

Значение должно быть указано в виде набора следующих пар: идентификатор строки переменной и объект переменной (см. в таблице ниже).

Объект переменной

Пара

Требуется

Описание

Имя

Тип значения

displayName

string

Да

Имя переменной, использованное в <файл_сценария>.sh.

type

string

Да

Тип элемента управления, отображенный в Bootable Media Builder. Этот элемент управления используется для конфигурирования значения переменной.

Список всех поддерживаемых типов см. в таблице ниже.

description

string

Да

Метка элемента управления, отображаемая над элементом управления в Bootable Media Builder.

default

строка, если type является string, multiString, password или enum

номер, если type является number, spinner или checkbox

Нет

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

Значением по умолчанию для флажка может быть 0 (флажок не установлен) или 1 (флажок установлен).

order

number

(не отрицательное)

Да

Порядок элементов управления в Bootable Media Builder. Чем выше значение, тем ниже расположен элемент управления относительно других элементов управления, указанных в autostart.json. Изначальным значение должен быть 0.

min

(только для spinner)

number

Нет

Минимальное значение элемента управления «счетчик» в поле счетчика. Если пара не указана, значением будет 0.

max

(только для spinner)

number

Нет

Максимальное значение элемента управления «счетчик» в поле счетчика. Если пара не указана, значением будет 100.

step

(только для spinner)

number

Нет

Значение шага элемента управления «счетчик» в поле счетчика. Если пара не указана, значением будет 1.

items

(только для enum)

массив строк

Да

Значения для раскрывающегося списка.

required

(для string, multiString, password и enum)

number

Нет

Указывает, может ли значение элемента управления быть пустым (0) или нет (1). Если пара не указана, значение элемента управления может быть пустым.

Тип элемента управления

Имя

Описание

string

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

multiString

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

password

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

number

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

spinner

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

enum

Стандартный выпадающий список с фиксированным набором предварительно указанных значений.

checkbox

Поле флажка с двумя положениями — флажок установлен и флажок не установлен.

Указанный ниже пример autostart.json содержит все возможные типы элементов управления, которые могут быть использованы для конфигурирования переменных для файла <файл_сценария>.sh.

{

"displayName": "Autostart script name",

"description": "This is an autostart script description.",

"variables": {

"var_string": {

"displayName": "VAR_STRING",

"type": "string", "order": 1,

"description": "This is a 'string' control:", "default": "Hello, world!"

},

"var_multistring": {

"displayName": "VAR_MULTISTRING",

"type": "multiString", "order": 2,

"description": "This is a 'multiString' control:",

"default": "Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit."

},

"var_number": {

"displayName": "VAR_NUMBER",

"type": "number", "order": 3,

"description": "This is a 'number' control:", "default": 10

},

"var_spinner": {

"displayName": "VAR_SPINNER",

"type": "spinner", "order": 4,

"description": "This is a 'spinner' control:",

"min": 1, "max": 10, "step": 1, "default": 5

},

"var_enum": {

"displayName": "VAR_ENUM",

"type": "enum", "order": 5,

"description": "This is an 'enum' control:",

"items": ["first", "second", "third"], "default": "second"

},

"var_password": {

"displayName": "VAR_PASSWORD",

"type": "password", "order": 6,

"description": "This is a 'password' control:", "default": "qwe"

},

"var_checkbox": {

"displayName": "VAR_CHECKBOX",

"type": "checkbox", "order": 7,

"description": "This is a 'checkbox' control", "default": 1

}

}

}

Вот так все вышеописанное выглядит в Bootable Media Builder.