При создании облачного шаблона в Cloud Assembly палитра типов ресурсов включает в себя типы ресурсов для поддерживаемой облачной учетной записи и конечных точек интеграции. В некоторых случаях необходимо создать облачные шаблоны на основе расширенного списка типов ресурсов. Можно создавать настраиваемые типы ресурсов, добавлять их на холст проекта, а также создавать облачные шаблоны, которые поддерживают потребности проектов и развертываний.

Имя настраиваемого ресурса и тип ресурса

Имя настраиваемого ресурса определяет настраиваемый ресурс на палитре типов ресурсов в облачном шаблоне.

Тип ресурса настраиваемого ресурса должен начинаться с Custom. и каждый тип ресурса должны быть уникальными. Например, можно задать Custom.ADUser как тип ресурса для настраиваемого ресурса, который добавляет пользователей Active Directory. Несмотря на то, что включение Custom. не проверяется в этом текстовое поле; строка будет добавлена автоматически, если она была случайно удалена.

Настраиваемые ресурсы действий расширяемости

Настраиваемые типы ресурсов позволяют использовать действия расширяемости в облачных шаблонах для создания сложных приложений. Например, можно использовать встроенную интеграцию действий расширяемости с Amazon Web Services и Microsoft Azure для простой интеграции с соответствующими службами. Чтобы создать настраиваемые ресурсы действий расширяемости, щелкните параметр На основе в редакторе настраиваемых ресурсов и выберите Определенная пользователем схема ABX.

Действия жизненного цикла для настраиваемых ресурсов действий расширяемости

При использовании действия расширяемости для настраиваемого ресурса можно задать следующие действия жизненного цикла.

  • Создание. Это действие расширяемости вызывается при запуске развертывания.
  • Чтение. Это действие расширяемости используется для получения последнего состояния развернутого ресурса.
  • Обновление. Это действие расширяемости вызывается при обновлении свойства облачного шаблона. Это действие запускается только в том случае, когда свойство не имеет отметки recreateOnUpdate.
  • Удаление. Это действие расширяемости вызывается при удалении развертывания.

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

Примечание: Действия расширяемости, связанные с действиями жизненного цикла, можно изменить, щелкнув Открыть рядом с конкретным действием.

Настраиваемые ресурсы vRealize Orchestrator

Каждый настраиваемый ресурс vRealize Orchestrator основан на типе иерархии SDK и создается с помощью рабочего процесса vRealize Orchestrator, который является экземпляром требуемого типа SDK. Для создания типов настраиваемых ресурсов простые типы, такие как Properties, Date, string и number, не поддерживаются.
Примечание: Типы объектов SDK можно отличить от других типов свойств vRealize Orchestrator по двоеточию (:), используемому для отделения имени подключаемого модуля от имени типа. Например, AD:UserGroup является типом объекта SDK, который используется для управления группами пользователей Active Directory.
Можно использовать встроенные рабочие процессы в vRealize Orchestrator или создать свои собственные. Использование vRealize Orchestrator для создания рабочих процессов «все как услуга» или «любой ресурс как услуга» означает, что можно создать облачный шаблон, который добавляет пользователя Active Directory к компьютерам во время развертывания, или добавить настраиваемую подсистему балансировки нагрузки F5 в развертывание. Чтобы создать настраиваемые ресурсы vRealize Orchestrator, щелкните параметр На основе в редакторе настраиваемых ресурсов и выберите Иерархия vRO.

Внешний тип настраиваемого ресурса vRealize Orchestrator

Свойство внешнего типа определяет тип настраиваемого ресурса vRealize Orchestrator. При выборе рабочего процесса «Создание» в типе настраиваемого ресурса в Cloud Assembly под ним появляется раскрывающееся меню внешних типов. Раскрывающееся меню включает в себя свойства внешнего типа, которые выбираются из выходных параметров рабочего процесса vRealize Orchestrator. Выбранные выходные свойства рабочего процесса, включенные в раскрывающееся меню, должны быть типами объектов SDK, которые не являются массивами, например VC:VirtualMachine или AD:UserGroup.

Примечание: При создании настраиваемых рабочих процессов, использующих подключаемый модуль динамического типа, убедитесь, что их переменные определены с помощью метода DynamicTypesManager.getObject().

При определении типов настраиваемых ресурсов также определяется область доступности для выбранного внешнего типа. Выбранный внешний тип может быть следующим.

  • Общедоступен для проектов.
  • Доступен только для выбранного проекта.

Для каждой определенной области может быть задан только один тип настраиваемого ресурса с определенным значением внешнего типа. Например, при создании настраиваемого ресурса в проекте, в котором используется VC:VirtualMachine как внешний тип, нельзя создать другой настраиваемый ресурс для того же проекта, в котором применяется тот же внешний тип. Кроме того, нельзя создать два общедоступных настраиваемых ресурса, использующих один и тот же внешний тип.

Проверка действия жизненного цикла vRealize Orchestrator

При добавлении рабочих процессов «Создание», «Удаление» и «Обновление» в виде действий жизненного цикла для настраиваемого ресурса Cloud Assembly проверяет, что выбранные рабочие процессы имеют корректные определения входных и выходных свойств.

  • Рабочий процесс «Создание» должен иметь выходной параметр, который является типом объекта SDK, например SSH:Host или SQL:Database. Если выбранный рабочий процесс не прошел проверку, нельзя добавить рабочие процессы «Обновление» и «Удаление» или сохранить изменения в настраиваемом ресурсе.
  • Рабочий процесс «Удаление» должен иметь входной параметр, являющийся типом объекта SDK, который соответствует внешнему типу настраиваемого ресурса.
  • Рабочий процесс «Обновление» должен иметь как входной, так и выходной параметр, являющийся типом объекта SDK, который соответствует внешнему типу настраиваемого ресурса.

Схема свойств настраиваемого ресурса

Чтобы изменить и просмотреть схему свойств настраиваемого ресурса, перейдите на вкладку Свойства. Схема содержит имя, тип данных, тип свойства и (при наличии) описание данного свойства. Схема также определяет, является ли свойство в облачном шаблоне обязательным или необязательным.
Примечание: Для схемы свойств настраиваемых ресурсов действий расширяемости в облачном шаблоне обязательными являются все свойства.
При добавлении рабочих процессов vRealize Orchestrator в настраиваемый ресурс их входные и выходные параметры добавляются как свойства. Схему свойств настраиваемых ресурсов действий расширяемости необходимо создать вручную на вкладке Свойства.
Примечание: Свойства, определенные в схеме настраиваемых ресурсов действий расширяемости, также должны быть возвращаемыми значениями в действии Чтение настраиваемого ресурса и иметь одинаковые имена. Например, если схема содержит свойства domain и location, действие Чтение также должно возвращать одни и те же свойства с одинаковыми именами.
На этой вкладке также можно изменять и форматировать свойства настраиваемых ресурсов vRealize Orchestrator или действий с поддержкой расширяемости. Например, можно изменить отображаемое имя заданного свойства или добавить ограничения.
Примечание: При добавлении ограничений в раздел элементов полей массива или раздел свойств полей объектов в схеме свойств убедитесь, что эти ограничения проверены, так как некорректно примененные ограничения могут вызвать проблемы с настраиваемым ресурсом. Например, при добавлении максимального ограничения к массиву чисел необходимо убедиться, что это ограничение не изменяет значение свойства по умолчанию.

Чтобы изменить схему свойств для настраиваемых ресурсов, перейдите на вкладку Свойства и используйте вкладку Код или Форма.

  • Код. Изменение схемы свойств с помощью содержимого YAML. При выборе этого параметра схема свойств определяется с помощью схемы JSON.
  • Форма. Для настраиваемых ресурсов действий расширяемости, чтобы создать новое свойство, щелкните Новое свойство и задайте его имя, отображаемое имя, описание, тип свойства и значение по умолчанию. Для настраиваемых ресурсов vRealize Orchestrator свойства, которые не нужны и не являются вычисляемыми, также можно скрыть в схеме, нажав кнопку Удалить свойство.

Настраиваемые формы запросов операций по регулярному обслуживанию

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

Значение входного параметра в форме запроса можно привязать к внешнему источнику, например к действию vRealize Orchestrator, которое извлекает имя развертывания или имя проекта. Кроме того, можно привязать значение определенного входного параметра к вычисленному значению двух других текстовых полей, включенных в ту же форму запроса.

Примечание: Эта функция доступна как для настраиваемых ресурсов, так и для действий с ресурсами. Значение входных свойств формы запроса можно задать на вкладке Значения страницы Параметры запроса редактора настраиваемых ресурсов или действий с ресурсами.

Проверка формы запроса операций по регулярному обслуживанию

Форму запроса операций по регулярному обслуживанию можно проверить путем добавления внешней проверки. Во время внешней проверки пользователь не может подать форму запроса до тех пор, пока не будут удовлетворены параметры проверки. Внешнюю проверку можно добавить на вкладке Проверки страницы Запрос параметров настраиваемого ресурса или в редакторе действий ресурса. После выбора вкладки можно перетащить элемент Проверка с помощью оркестратора на холст и добавить действие vRealize Orchestrator, которое необходимо использовать для проверки.

Например, можно создать настраиваемый ресурс, который включает в себя операцию по регулярному обслуживанию для изменения пароля пользователя. В таком случае можно добавить действие vRealize Orchestrator с входными параметрами newPassword и confirmPassword, в которых используется тип SecureString.

Примечание: Это пример сценария для проверки пароля пользователя. Вы можете выбрать другой сценарий.
if (newPassword != confirmPassword) {
    return 'passwords are different';
}
if (newPassword.lenght < 7) {
    return 'password must be at least 10 symbols';
}
return null;