Зміст приховати

cisco-Nexus-3000-Series-Low-Latency-Switches-logo

cisco Створення користувацьких завдань робочого процесу

cisco-Creating-Custom-Workflow-Tasks-PRODUCT-IMAGE

Про користувацькі входи робочого процесу

Cisco UCS Director Orchestrator пропонує список чітко визначених типів введення для спеціальних завдань. Cisco UCS Director також дає змогу створювати налаштовані вхідні дані робочого циклу для спеціального завдання робочого циклу. Ви можете створити новий тип введення шляхом клонування та зміни існуючого типу введення.

передумови

Перш ніж писати користувацькі завдання, ви повинні виконати наступні передумови:

  • Cisco UCS Director встановлено та працює у вашій системі. Щоб отримати додаткові відомості про те, як інсталювати Cisco UCS Director, зверніться до посібника з інсталяції та налаштування Cisco UCS Director.
  • У вас є логін з правами адміністратора. Ви повинні використовувати цей логін, коли створюєте та змінюєте власні завдання.
  • Ви повинні мати дозвіл на запис CloupiaScript, щоб написати спеціальне завдання за допомогою CloupiaScript.
  • Ви повинні мати дозвіл на виконання CloupiaScript, щоб виконати настроюване завдання, створене за допомогою CloupiaScript.

Створення настроюваного робочого процесу

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

  • Крок 1 Виберіть Orchestration.
  • Крок 2 Клацніть Custom Workflow Inputs.
  • Крок 3 Натисніть Додати.
  • Крок 4 На екрані Add CustomWorkflow Input заповніть такі поля:
    • Ім’я спеціального типу введення — унікальне ім’я для спеціального типу введення.
    • Тип введення — позначте тип введення та натисніть «Вибрати». На основі вибраного введення з’являються інші поля. наприкладample, коли ви вибираєте адресу електронної пошти як тип введення, з’являється список значень (LOV). Використовуйте нові поля, щоб обмежити значення настроюваного введення.
  • Крок 5 Натисніть Надіслати.
  • Спеціальний вхід робочого процесу додається до Cisco UCS Director і доступний у списку типів введення.
Перевірка настроюваного введення

Клієнтам може знадобитися перевірити вхідні дані робочого процесу за допомогою зовнішніх ресурсів. З коробки Cisco UCS Director не може задовольнити потреби перевірки кожного клієнта. Щоб заповнити цю прогалину, Cisco UCS Director надає можливість перевіряти будь-який вхід під час виконання за допомогою сценарію, наданого клієнтом. Сценарій може позначати помилки у введенні та може вимагати дійсний вхід перед виконанням запиту на службу. Сценарій можна написати будь-якою мовою, мати доступ до будь-якого зовнішнього ресурсу та мати доступ до всіх вхідних значень робочого процесу.
Ви можете писати власні сценарії перевірки за допомогою JavaScript, Python, сценарію оболонки bash або будь-якої іншої мови сценаріїв.

Наступний прикладampфайли сценаріїв перевірки можна знайти в Cisco UCS Director у Orchestration > Custom Workflow Inputs:

  • Example-bash-script-validator
  • Example-javascript-validator
  • Example-python-validator

Ви можете скопіювати або клонувати exampстворені за сценарієм вхідні дані робочого циклу, щоб створити новий перевірений вхідний сигнал. Ви також можете використовувати напрample скриптові входи робочого процесу як керівництво для розробки власних сценаріїв.

Незалежно від мови сценаріїв, наведені нижче функції та правила застосовуються до перевірки настроюваного введення за сценарієм:

  • Уся перевірка за сценарієм виконується в окремому процесі, тому невдалий процес перевірки не впливає на процес Cisco UCS Director.
  • Лише загальні введення тексту можна перевірити за допомогою сценаріїв.
  • Сценарії перевірки виконуються по одному, послідовно, у тому самому порядку, у якому вхідні дані відображаються на сторінці вхідних даних робочого процесу. Для кожного підтвердженого введення запускається окремий процес.
  • Ненульове значення, яке повертає сценарій, означає невдалу перевірку. За бажанням ви можете передати повідомлення про помилку назад у форму введення робочого процесу.
  • Усі вхідні дані робочого циклу передаються до сценарію перевірки двома способами:
    • Як аргументи сценарію у формі “ключ”=”значення”.
    • Як змінні середовища для процесу сценарію. Імена змінних є вхідними мітками.
      наприкладample, якщо робочий процес має вхідні дані, позначені як Product-Code, а вхідне значення — AbC123, змінна передається до сценарію перевірки як «Product-Code»=»AbC123».
      Ці вхідні змінні можуть використовуватися сценарієм, якщо це необхідно для здійснення перевірки. Виняток: значення таблиці містять лише номер рядка вибору таблиці, тому, ймовірно, марні.
  • Сторінка «Редагувати настроюваний робочий процес» робить сценарій доступним у редакторі настроюваних завдань. Синтаксис виділено для всіх мов. Синтаксичні помилки перевіряються лише для валідаторів JavaScript.
Клонування настроюваного робочого процесу

Ви можете використовувати існуючий настроюваний вхід робочого циклу в Cisco UCS Director, щоб створити настроюваний вхід робочого процесу.

Перш ніж почати
У Cisco UCS Director має бути доступний спеціальний вхід робочого процесу.

  • Крок 1 Виберіть Orchestration.
  • Крок 2 Клацніть Custom Workflow Inputs.
  • Крок 3 Клацніть рядок із настроюваним введенням робочого процесу, який потрібно клонувати.
    Піктограма «Клонувати» з’являється у верхній частині таблиці вхідних даних спеціального робочого процесу.
  • Крок 4 Натисніть Клонувати.
  • Крок 5 Введіть назву спеціального типу введення.
  • Крок 6 Використовуйте інші елементи керування на екрані Clone Custom Workflow Input, щоб налаштувати новий вхід.
  • Крок 7 Натисніть Надіслати.
    Введені дані спеціального завдання робочого циклу клонуються після підтвердження та доступні для використання в завданні спеціального робочого циклу.
Створення власного завдання

Щоб створити спеціальне завдання, виконайте такі дії:

  • Крок 1 Виберіть Orchestration.
  • Крок 2 Клацніть Custom Workflow Tasks.
  • Крок 3 Натисніть Додати.
  • Крок 4 На екрані Add Custom Workflow Task заповніть такі поля:
    • Поле «Назва завдання» — унікальне ім’я для спеціального завдання робочого циклу.
    • Поле «Мітка завдання» — мітка для визначення спеціального завдання робочого циклу.
    • Поле «Зареєструвати під категорією» — категорія робочого циклу, у якій потрібно зареєструвати настроюване завдання робочого циклу.
    • Прапорець «Активувати завдання» — якщо позначено, настроюване завдання робочого циклу реєструється в Orchestrator і одразу може використовуватися в робочих циклах.
    • Поле «Короткий опис» — опис спеціального завдання робочого процесу.
    • Поле «Докладний опис» — докладний опис спеціального завдання робочого циклу.
  • Крок 5 Натисніть Далі.
    З’явиться екран «Введення спеціальних завдань».
  • Крок 6 Натисніть Додати.
  • Крок 7 На екрані «Додати запис до вхідних даних» заповніть такі поля:
    • Поле назви поля вводу — унікальне ім’я поля. Ім'я має починатися з алфавітного символу і не повинно містити пробілів або спеціальних символів.
    • Поле мітки поля введення — мітка для ідентифікації поля введення.
    • Розкривний список «Тип поля введення» — виберіть тип даних вхідного параметра.
    • Поле зіставлення з типом вхідних даних (без зіставлення) — виберіть тип вхідних даних, до якого можна зіставити це поле, якщо це поле можна зіставити з іншого виходу завдання або глобального введення робочого процесу.
    • Обов’язковий прапорець — якщо позначено, користувач повинен вказати значення для цього поля.
    • Поле RBID — введіть рядок RBID для поля.
    • Розкривний список «Розмір поля введення» — виберіть розмір поля для введення тексту та таблиці.
    • Поле довідки поля введення — (необов’язково) опис, який відображається, коли ви наводите курсор миші на поле.
    • Поле анотації до поля введення — (необов’язково) текст підказки для поля введення.
    • Поле «Ім’я групи полів» — якщо вказано, усі поля з відповідними іменами групи додаються до групи полів.
    • Область АТРИБУТІВ ТЕКСТОВОГО ПОЛЯ — заповніть наступні поля, якщо типом поля введення є текст.
    • Прапорець Multiple Input — якщо позначено, поле введення приймає кілька значень залежно від типу поля введення:
    • Для LOV — поле введення приймає кілька вхідних значень.
    • Для текстового поля — поле введення стає багаторядковим текстовим полем.
    • Максимальна довжина поля введення — укажіть максимальну кількість символів, які можна ввести в поле введення.
    • Область АТРИБУТІВ LOV — заповніть наведені нижче поля, якщо типом введення є список значень (LOV) або LOV із перемикачами.
    • Поле «Список значень» — список значень, розділених комами, для вбудованих LOV.
      Поле імені постачальника LOV — ім’я постачальника LOV для невбудованих LOV.
    • Область АТРИБУТІВ ТАБЛИЦІ — заповніть наступні поля, якщо типом поля введення є таблиця, спливаюча таблиця або таблиця з прапорцем для вибору.
    • Поле імені таблиці — назва табличного звіту для типів полів таблиці.
    • Область ПЕРЕВІРКИ ВВЕДЕНИХ ПОЛІВ — залежно від вибраного типу даних відображається одне або кілька з наведених нижче полів. Заповніть поля, щоб указати, як перевіряються поля введення.
    • Розкривний список «Перевірка введення» — виберіть засіб перевірки для введення користувача.
    • Поле регулярного виразу — зразок регулярного виразу для порівняння введеного значення.
    • Поле повідомлення регулярного виразу — повідомлення, яке відображається, коли перевірка регулярного виразу не вдається.
    • Поле мінімального значення — мінімальне числове значення.
    • Поле максимального значення — максимальне числове значення.
    • Область УМОВИ ПОЛЯ ПРИХОВАТИ — заповніть наступні поля, щоб встановити умову приховування поля у формі.
    • Приховати поле імені поля — внутрішнє ім’я поля, щоб програма, яка обробляє форму, могла ідентифікувати поле.
    • Поле «Сховати значення поля» — значення, яке потрібно надіслати після надсилання форми.
    • Розкривний список «Приховати умови поля» — виберіть умову, за якої поле має бути приховане.
    • Поле довідки HTML — довідкові інструкції для прихованого поля.
  • Крок 8 Натисніть Надіслати.
    Вхідний запис додається до таблиці.
  • Крок 9 Натисніть «Додати», щоб додати більше записів до вхідних даних.
  • Крок 10 Коли ви закінчите додавати вхідні дані, натисніть «Далі».
    З’явиться екран «Вихідні дані завдань робочого процесу».
  • Крок 11 Натисніть Додати.
  • Крок 12 На екрані «Додати запис до виходів» заповніть такі поля:
    • Поле назви поля виводу — унікальне ім’я поля виводу. Він має починатися з букви та не містити пробілів чи спеціальних символів.
    • Поле опису поля виводу — опис поля виводу.
    • Поле «Тип поля виводу» — перевірте тип виводу. Цей тип визначає, як результат може бути зіставлений з іншими входами завдання.
  • Крок 13 Натисніть Надіслати.
    Вихідний запис додається до таблиці.
  • Крок 14 Натисніть «Додати», щоб додати більше записів до виходів.
  • Крок 15 Натисніть «Далі».
    З’явиться екран контролера
  • Крок 16 (Необов’язково) Натисніть «Додати», щоб додати контролер.
  • Крок 17 На екрані «Додати запис до контролера» заповніть такі поля:
    • Розкривний список «Метод» — виберіть метод маршалінгу або демаршалінгу, щоб налаштувати вхідні та/або вихідні дані для спеціального завдання робочого циклу. Метод може бути одним із наведених нижче.
    • Перед маршаллом — використовуйте цей метод, щоб додати або встановити поле введення та динамічно створити та встановити LOV на сторінці (формі).
    • Після Маршалла — використовуйте цей метод, щоб приховати або відобразити поле введення.
    • Перед Unmarshall — використовуйте цей метод для перетворення вхідного значення з однієї форми в іншу — наприкладample, коли ви хочете зашифрувати пароль перед надсиланням його до бази даних.
    • Після Unmarshall — використовуйте цей метод, щоб перевірити введені користувачем дані та встановити повідомлення про помилку на сторінці.
      Див. Прampле: Використання контролерів, на сторінці 14.
    • Область тексту сценарію — для методу, який ви вибрали в розкривному списку «Метод», додайте код для сценарію налаштування графічного інтерфейсу.
      Примітка Натисніть «Додати», якщо ви хочете додати код для інших методів.
      Якщо є будь-які перевірки введених паролів, обов’язково змініть перевірку контролера для паролів, щоб ви могли редагувати спеціальні завдання в робочих процесах.
      Примітка
  • Крок 18 Натисніть Надіслати.
    Контролер додається в таблицю.
  • Крок 19 Натисніть Далі.
    З’явиться екран сценарію.
  • Крок 20 У розкривному списку «Мова виконання» виберіть мову.
  • Крок 21 У полі «Сценарій» введіть код CloupiaScript для спеціального завдання робочого процесу.
    Код сценарію Cloupia перевіряється, коли ви вводите код. Якщо в коді є якась помилка, поруч із номером рядка відображається значок помилки (червоний хрестик). Наведіть курсор миші на значок помилки, щоб view повідомлення про помилку та рішення
  • Крок 22 Натисніть «Зберегти сценарій».
  • Крок 23 Натисніть Надіслати.
    Спеціальне завдання робочого циклу створено та доступне для використання в робочому процесі

Спеціальні завдання та сховища

Коли ви створюєте спеціальне завдання, ви можете імпортувати код із file зберігається в сховищі GitHub або BitBucket. Для цього ви:

  1. Створіть один або кілька текстів files у сховищі GitHub або BitBucket, або на github.com, або в приватному корпоративному сховищі GitHub.
    Примітка. Cisco UCS Director підтримує лише GitHub (github.com або корпоративний екземпляр GitHub) та/або BitBucket. Він не підтримує інші служби хостингу Git, зокрема GitLab, Perforce або Codebase.
  2. Зареєструйте репозиторій у Cisco UCS Director. Див. Додавання сховища GitHub або BitBucket у Cisco UCS Director на сторінці 7.
  3. Виберіть сховище та вкажіть текст file який містить настроюваний сценарій завдання. Див. Завантаження коду сценарію спеціального завдання зі сховища GitHub або BitBucket на сторінці 8.

Додавання репозиторію GitHub або BitBucket у Cisco UCS Director
Щоб зареєструвати репозиторій GitHub або BitBucket у Cisco UCS Director, виконайте такі дії:

Перш ніж почати
Створіть репозиторій GitHub або BitBucket. Репозиторій може бути на будь-якому загальнодоступному чи приватному сервері GitHub або BitBucket, до якого можна отримати доступ із Cisco UCS Director.
Зареєструватися в одному або кількох files, що містить код JavaScript для ваших користувальницьких завдань у вашому репозиторії.

  • Крок 1 Виберіть Адміністрування > Інтеграція.
  • Крок 2 На сторінці «Інтеграція» клацніть «Керувати репозиторіями».
  • Крок 3 Натисніть Додати.
  • Крок 4 На сторінці «Додати репозиторій» заповніть обов’язкові поля, зокрема такі:
    • У полі «Псевдонім сховища» введіть назву для ідентифікації сховища в Cisco UCS Director.
    • У сховищі URL поле, введіть URL сховища GitHub або BitBucket.
    • У полі «Назва гілки» введіть назву гілки сховища, яку ви бажаєте використовувати. Назва за замовчуванням — головна гілка.
    • У полі «Користувач сховища» введіть ім’я користувача для свого облікового запису GitHub або BitBucket.
    • Щоб додати репозиторій GitHub, у полі Password/API Token введіть згенерований API-токен для свого GitHub.
      Щоб згенерувати маркер API за допомогою GitHub, клацніть «Параметри», перейдіть до «Налаштування розробника» > «Особисті маркери доступу» та натисніть «Створити новий маркер».
      Щоб додати репозиторій BitBucket, у полі Password/API Token введіть пароль для свого BitBucket.
    • Щоб використовувати це сховище за замовчуванням під час створення нового спеціального завдання, поставте прапорець Зробити це сховище за замовчуванням.
    • Щоб перевірити, чи може Cisco UCS Director отримати доступ до сховища, натисніть Перевірити підключення.
      Стан підключення до репозиторію відображається на банері у верхній частині сторінки.
      Якщо ви не можете підключитися та спілкуватися з репозиторієм GitHub або BitBucket від Cisco UCS
      Директор, оновіть Cisco UCS Director для доступу до Інтернету через проксі-сервер. Див. посібник із адміністрування Cisco UCS Director.
      Примітка
  • Крок 5 Переконавшись, що інформація про репозиторій правильна, натисніть Надіслати.

Завантаження коду сценарію спеціального завдання зі сховища GitHub або BitBucket

Щоб створити нове спеціальне завдання, імпортувавши текст із сховища GitHub або BitBucket, виконайте такі дії:

Перш ніж почати
Створіть репозиторій GitHub або BitBucket і перевірте один або кілька текстів files, що містить код JavaScript для ваших спеціальних завдань у вашому сховищі.

Додайте репозиторій GitHub до Cisco UCS Director. Див. Додавання репозиторію GitHub або BitBucket у Cisco UCS Director на сторінці

  • Крок 1 На сторінці Orchestration клацніть Custom Workflow Tasks.
  • Крок 2 Натисніть Додати.
  • Крок 3 Заповніть обов’язкові поля на сторінці інформації про спеціальне завдання. Див. Створення спеціального завдання на сторінці 3.
  • Крок 4 Заповніть обов’язкові поля на сторінці «Вхідні дані спеціального завдання». Див. Створення спеціального завдання на сторінці 3.
  • Крок 5 Заповніть обов’язкові поля на сторінці «Результати спеціальних завдань». Див. Створення спеціального завдання на сторінці 3.
  • Крок 6 Заповніть необхідні поля на сторінці контролера. Див. Створення спеціального завдання на сторінці 3.
  • Крок 7 На сторінці «Сценарій» заповніть необхідні поля:
    • У розкривному списку «Мова виконання» виберіть JavaScript.
    • Поставте прапорець «Використовувати репозиторій для сценаріїв», щоб увімкнути спеціальне завдання для використання сценарію file зі сховища. Це дає змогу вибрати репозиторій і вказати сценарій file використовувати.
    • У розкривному списку Select Repository виберіть репозиторій GitHub або BitBucket, що містить сценарій fileс. Докладніше про додавання сховищ див. у розділі Додавання сховища GitHub або BitBucket у Cisco UCS Director на сторінці 7.
    • Введіть повний шлях до сценарію file у сценарії fileтекстове поле імені.
    • Щоб завантажити сценарій, натисніть «Завантажити сценарій».
      Текст з в file копіюється в область редагування тексту сценарію.
    • За потреби внесіть зміни до завантаженого сценарію в області редагування тексту сценарію.
    • Щоб зберегти сценарій у тому вигляді, в якому він відображається в області редагування тексту сценарію, натисніть «Зберегти сценарій».
      Коли ви натискаєте «Зберегти сценарій», сценарій зберігається у вашому поточному робочому сеансі. Ви повинні натиснути «Надіслати», щоб зберегти сценарій у настроюваному завданні, яке ви редагуєте.
      Примітка
  • Крок 8 Щоб зберегти настроюване завдання, натисніть Надіслати.
    Якщо ви внесли зміни до завантаженого сценарію в області редагування тексту сценарію, зміни буде збережено в настроюваному завданні. Жодні зміни не зберігаються в репозиторії GitHub або BitBucket. Якщо ви бажаєте скасувати завантажений сценарій і ввести власний сценарій, клацніть Відкинути сценарій, щоб очистити вікно сценарію.

Що робити далі
Ви можете використовувати нове спеціальне завдання в робочому процесі.

Імпорт робочих процесів, спеціальних завдань, модулів сценаріїв і дій

Щоб імпортувати артефакти в Cisco UCS Director, виконайте такі дії:

Примітка Глобальні змінні, пов’язані з робочим процесом, буде імпортовано під час імпорту робочого циклу, якщо глобальна змінна недоступна в пристрої.

  • Крок 1 Виберіть Orchestration.
  • Крок 2 На сторінці Orchestration клацніть Workflows.
  • Крок 3 Натисніть Імпорт.
  • Крок 4 На екрані «Імпорт» натисніть «Вибрати a». File.
  • Крок 5 На Виберіть File на екрані завантаження виберіть file бути імпортованим. Імпорт та експорт Cisco UCS Director fileмають .wfdx file розширення.
  • Крок 6 Натисніть Відкрити.
    Коли file завантажується, File Відобразиться екран завантаження/перевірки File готовий до використання та ключ.
  • Крок 7 Введіть ключ, який було введено під час експорту file.
  • Крок 8 Натисніть Далі.
    На екрані «Політики імпорту» відображається список об’єктів Cisco UCS Director, які містяться в завантаженому файлі file.
  • Крок 9 (Необов’язково) На екрані «Політики імпорту» вкажіть, як обробляти об’єкти, якщо вони дублюють імена, які вже є в папці робочого процесу. На екрані імпорту заповніть наступні поля
Ім'я опис
Робочі процеси Виберіть із наведених нижче параметрів, щоб указати, як обробляються робочі процеси з ідентичними назвами:
  • Замінити— Замініть існуючий робочий процес на імпортований робочий процес.
  • Зберігайте обоє—Імпортуйте робочий процес як нову версію.
  • Пропустити—Не імпортуйте робочий процес.
Спеціальні завдання Виберіть із наведених нижче параметрів, щоб указати, як обробляються настроювані завдання з ідентичними назвами:
  • Замінити
  • Зберігайте обоє
  • Пропустити
Ім'я опис
Модулі скриптів Виберіть із наведених нижче параметрів, щоб указати, як обробляються модулі сценаріїв з ідентичними назвами:
  • Замінити
  • Зберігайте обоє
  • Пропустити
Діяльність Виберіть із наведених нижче параметрів, щоб указати, як обробляються дії з ідентичними назвами:
  • Замінити
  • Зберігайте обоє
  • Пропустити
Імпорт робочих процесів до папки Check Import Workflows to Folder, щоб імпортувати робочі процеси. Якщо ви не позначили «Імпорт робочих процесів до папки» та якщо немає існуючої версії робочого циклуw існує, робочий процес не імпортовано.
Виберіть папку Виберіть папку, до якої потрібно імпортувати робочі процеси. Якщо ви вибрали [Новий Папка..]

у розкривному списку Нова папка з'явиться поле.

Нова папка Введіть назву нової папки, яку потрібно створити як папку імпорту.
  • Крок 10 Натисніть Імпорт.

Експорт робочих процесів, спеціальних завдань, модулів сценаріїв і дій

Щоб експортувати артефакти з Cisco UCS Director, виконайте такі дії:

Примітка. Глобальні змінні, пов’язані з робочим циклом, будуть автоматично експортовані під час експорту робочого циклу.

  • Крок 1 Натисніть «Експортувати».
  • Крок 2 На екрані «Вибір робочих процесів» виберіть робочі процеси, які потрібно експортувати.
    Спеціальні робочі процеси, завдання та сценарії, створені в Cisco UCS Director до версії 6.6, можуть не імпортуватися, якщо вони містять дані XML.
    Примітка
  • Крок 3 Натисніть Далі.
  • Крок 4 На екрані «Вибір спеціальних завдань» виберіть спеціальні завдання, які ви хочете показати
    Примітка. Експортоване настроюване завдання містить усі настроювані вхідні дані, які використовуються цим настроюваним завданням.
  • Крок 5 Натисніть Далі.
  • Крок 6 На екрані «Експорт: вибір модулів сценаріїв» виберіть модулі сценаріїв, які потрібно експортувати.
  • Крок 7 Натисніть Далі.
  • Крок 8 На екрані «Експорт: вибір дій» виберіть дії, які потрібно експортувати.
  • Крок 9 Натисніть Далі.
  • Крок 10 На екрані «Експорт: вибір відкритих API» виберіть API, які потрібно експортувати.
  • Крок 11 На екрані «Експорт: підтвердження» заповніть такі поля:
Ім'я опис
Експортовано Ваше ім'я або примітка про те, хто відповідає за експорт.
Коментарі Коментарі щодо цього експорту.
Зашифрувати експортоване file Перевірте Зашифрувати експортований файл file прапорець, щоб зашифрувати file на експорт. За замовчуванням прапорець встановлено.
ключ Введіть ключ для шифрування file.

Це поле відображається лише тоді, коли зашифровано експортований файл file прапорець встановлено.

Збережіть ключ, оскільки він потрібен під час імпорту робочого циклу для розшифровки.

Ключ підтвердження Введіть ключ ще раз для підтвердження.

Це поле відображається лише тоді, коли зашифровано експортований файл file прапорець встановлено.

Експортовано File Ім'я Назва file у вашій локальній системі. Тип тільки основа fileім'я; в file розширення типу (.wfdx) додається автоматично.
  • Крок 12 Натисніть «Експортувати».
    Вам буде запропоновано зберегти file.
Клонування спеціального завдання робочого циклу з бібліотеки завдань

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

Клонована задача — це структура з тими самими входами й виходами, що й вихідна задача. Однак клоноване завдання є лише структурою. Це означає, що ви повинні написати всі функції для нового завдання в CloupiaScript.

Зауважте також, що значення вибору для вхідних даних списків, таких як спадні списки та списки значень, переносяться до клонованого завдання, лише якщо значення списку не залежать від системи. Такі речі, як імена та IP-адреси існуючих систем, залежать від системи; такі речі, як параметри конфігурації, які підтримує Cisco UCS Director, не є такими. наприкладample, групи користувачів, імена хмар і групи портів залежать від системи; ролі користувачів, типи хмар і типи груп портів – ні.

  • Крок 1 Виберіть Orchestration.
  • Крок 2 Клацніть Custom Workflow Tasks.
  • Крок 3 Натисніть «Клонувати з бібліотеки завдань».
  • Крок 4 На екрані «Клонувати з бібліотеки завдань» позначте рядок із завданням, яке потрібно клонувати.
  • Крок 5 Натисніть Вибрати.
    Спеціальне завдання робочого циклу створюється з бібліотеки завдань. Нове настроюване завдання є останнім настроюваним завданням у звіті Настроювані завдання робочого циклу. Нове настроюване завдання має назву клонованого завдання з додаванням дати.
  • Крок 6 Натисніть Надіслати

Що робити далі
Відредагуйте настроюване завдання робочого циклу, щоб переконатися, що для клонованого завдання є правильна назва та опис.

Клонування спеціального завдання робочого циклу

Ви можете використовувати наявне настроюване завдання робочого циклу в Cisco UCS Director, щоб створити настроюване завдання робочого циклу.

Перш ніж почати
Спеціальне завдання робочого процесу має бути доступним у Cisco UCS Director.

  • Крок 1 Виберіть Orchestration.
  • Крок 2 Клацніть Custom Workflow Tasks.
  • Крок 3 Клацніть рядок із настроюваним завданням робочого циклу, яке потрібно клонувати.
    Піктограма «Клонувати» з’являється у верхній частині таблиці завдань спеціального робочого циклу.
  • Крок 4 Натисніть Клонувати.
  • Крок 5 На екрані Clone Custom Workflow Task оновіть необхідні поля.
  • Крок 6 Натисніть Далі.
    З’являться вхідні дані, визначені для завдань спеціального робочого циклу.
  • Крок 7 Клацніть рядок із введенням завдання, яке потрібно редагувати, і натисніть «Редагувати», щоб відредагувати введення завдання.
  • Крок 8 Натисніть «Додати», щоб додати запис введення завдання.
  • Крок 9 Натисніть Далі.
    Відредагуйте результати завдання.
  • Крок 10 Натисніть «Додати», щоб додати новий вихідний запис.
  • Крок 11 Натисніть Далі.
  • Крок 12 Відредагуйте сценарії контролера. Див. Керування вхідними даними завдань робочого процесу на сторінці 13.
  • Крок 13 Натисніть Далі.
  • Крок 14 Щоб налаштувати спеціальне завдання, відредагуйте сценарій завдання.
  • Крок 15 Натисніть Надіслати
Керування вхідними даними завдань робочого процесу

Використання контролерів
Ви можете змінювати зовнішній вигляд і поведінку користувацьких вхідних даних завдань за допомогою інтерфейсу контролера, доступного в Cisco UCS Director.

Коли використовувати контролери
Використовуйте контролери в таких сценаріях:

  • Реалізувати складну поведінку графічного інтерфейсу користувача для відображення та приховування, включаючи більш точне керування списками значень, табличними списками значень та іншими елементами керування введенням, які відображаються користувачеві.
  • Реалізувати складну логіку перевірки введення користувача.

За допомогою контролерів вводу ви можете робити наступне:

  • Показувати або приховувати елементи керування графічним інтерфейсом користувача: ви можете динамічно показувати або приховувати різні поля графічного інтерфейсу користувача, такі як прапорці, текстові поля, розкривні списки та кнопки, залежно від умов. наприкладampЯкщо користувач вибирає UCSM зі спадного списку, ви можете запитати облікові дані користувача для Cisco UCS Manager або змінити список значень (LOV) у спадному списку, щоб відображати лише доступні порти на сервері.
  • Перевірка полів форми: ви можете перевірити дані, введені користувачем під час створення або редагування робочих циклів у конструкторі робочих циклів. Для недійсних даних, введених користувачем, можуть відображатися помилки. Введені користувачем дані можна змінити до того, як вони будуть збережені в базі даних або перед тим, як вони будуть збережені на пристрої.
  • Динамічне отримання списку значень: Ви можете динамічно отримати список значень з об’єктів Cisco UCS Director і використовувати їх для заповнення об’єктів форми GUI.

Маршалінг та демаршалінг об’єктів форми GUI
Контролери завжди пов’язані з формою в інтерфейсі вводу завдань Designer Workflow. Існує однозначне відображення між формою та контролером. Контролери працюють за дві сtages, маршалінг і демаршалінг. Обидва сtages мають два субtages, до і після. Щоб використовувати контролер, ви сортуєте (керуєте полями форми інтерфейсу користувача) та/або скасовуєте (перевіряєте введені користувачем) пов’язані об’єкти форми графічного інтерфейсу за допомогою сценаріїв контролера.

У наведеній нижче таблиці підсумовано ці stagес.

Stage Підпtage
Сортування — Використовується для приховання та відображення полів форми, а також для розширеного керування списками LOV і табличними LOV. перед Маршалом — Використовується для додавання або встановлення поля введення та динамічного створення та встановлення LOV на сторінці (формі).

після Маршалла — Використовується для приховування або відображення поля введення.

Stage Підпtage
Демаршалінг – Використовується для перевірки введених користувачем форм. перед Анмаршаллом — Використовується для перетворення вхідного значення з однієї форми в іншу, наприкладample, щоб зашифрувати пароль перед надсиланням його до бази даних.

після Анмаршалла — Використовується для підтвердження введення користувача та встановлення повідомлення про помилку на сторінці.

Створення сценаріїв контролера
Для контролерів не потрібно імпортувати додаткові пакети.
Ви не передаєте параметри методам контролера. Замість цього фреймворк Cisco UCS Director робить наступні параметри доступними для використання під час маршалінгу та демаршалінгу:

Параметр опис Example
Сторінка Сторінка або форма, яка містить усі вхідні дані завдання. За допомогою цього параметра можна виконувати такі дії:
  • Отримати або встановити вхідні значення у формі графічного інтерфейсу користувача.
  • Показати або приховати введення у формі GUI.
page.setHidden(id + “.portList”, true); page.setValue(id + “.status”, “Порт не працює. Список портів приховано”);
id Унікальний ідентифікатор поля введення форми. Ідентифікатор генерується фреймворком і може використовуватися з назвою поля введення форми. page.setValue(id + “.status”, “Порт не працює. Список портів приховано”);// тут 'status' — це назва поля введення.
Поджо POJO (простий старий об’єкт Java) — це компонент Java, що представляє форму введення. Кожна сторінка GUI повинна мати відповідний POJO, що містить значення з форми. POJO використовується для збереження значень у базі даних або для надсилання значень на зовнішній пристрій. pojo.setLunSize(asciiValue); //встановити значення поля введення 'lunSize'

Див. Прampле: Використання контролерів, на сторінці 14 для робочого коду sampфайл, який демонструє функціональність контролера.

Example: Використання контролерів

Наступний код, наприкладampLe демонструє, як реалізувати функціональні можливості контролера в настроюваних завданнях робочого процесу за допомогою різних методів — до Marshall, після Marshall, до Unmarshall і після Unmarshall.
/*

Опис методів:
До Маршалла: використовуйте цей метод, щоб додати або встановити поле введення та динамічно створити та встановити LOV на сторінці (формі).
Після Маршалла: використовуйте цей метод, щоб приховати або відобразити поле введення.
До UnMarshall: використовуйте цей метод для перетворення вхідного значення з однієї форми в іншу,
наприкладample, коли ви хочете зашифрувати пароль перед надсиланням його до бази даних. Після UnMarshall: використовуйте цей метод, щоб перевірити введені користувачем дані та встановити повідомлення про помилку на
сторінки.
*/
//Перед Маршаллом:
/*
Використовуйте метод beforeMarshall, коли є зміни в полі введення, або для динамічного створення LOV і встановлення нового поля введення у формі перед її завантаженням.
У вихampНижче нове поле введення «portList» додається на сторінку перед тим, як форма буде відображена в браузері.
*/
importPackage(com.cloupia.model.cIM);
importPackage(java.util);
importPackage(java.lang);
var portList = новий ArrayList();
var lovLabel = “eth0”;
var lovValue = “eth0”;
var portListLOV = новий масив();
portListLOV[0] = new FormLOVPair(lovLabel, lovValue);//створити поле введення lov
//параметр 'page' використовується для встановлення поля введення у формі
page.setEmbeddedLOVs(id + “.portList”, portListLOV);// встановити поле введення у формі ============================ ==================================================== =================================
//Після Маршалла:
/*
Використовуйте цей метод, щоб приховати або відобразити поле введення.
*/
page.setHidden(id + “.portList”, true); //приховати поле введення 'portList'.
page.setValue(id + “.status”, “Порт не працює. Список портів приховано”);
page.setEditable(id + “.status”, false);
================================================== ================================================== =========
//Перед Unmarshall:
/*
Використовуйте метод beforeUnMarshall, щоб прочитати введені користувачем дані та перетворити їх в іншу форму перед вставленням у базу даних. наприкладample, ви можете прочитати пароль і зберегти пароль у базі даних після перетворення його в кодування base64 або прочитати ім’я працівника та перетворити на ідентифікатор працівника, коли ім’я працівника надсилається до бази даних.
У коді напрample нижче розміру lun зчитується та перетворюється на значення ASCII.
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
var size = page.getValue(id + “.lunSize”);
var logger = Logger.getLogger(“мій журнал”);
if(size != null){
logger.info(“Значення розміру”+розмір);
if((new java.lang.String(size)).matches(“\\d+”)){ var byteValue = size.getBytes(“US-ASCII”); //перетворити розмір lun і отримати масив символів ASCII

var asciiValueBuilder = новий StringBuilder();
for (var i = 0; i < byteValue.length; i++) {
asciiValueBuilder.append(byteValue[i]);
}
var asciiValue = asciiValueBuilder.toString()+” – Ascii
значення»
//id + “.lunSize” – ідентифікатор поля введення
page.setValue(id + “.lunSize”,asciiValue); //параметр
«сторінка» використовується для встановлення значення в полі введення.
pojo.setLunSize(asciiValue); //встановити значення для pojo.
Це pojo буде надіслано до БД або зовнішнього пристрою
}
================================================== ================================================== =========
// Після unMarshall :
/*
Використовуйте цей метод для перевірки та встановлення повідомлення про помилку.
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
//варити розмір = pojo.getLunSize();
var size = page.get Value(id + “.lunSize”);
var logger = Logger .get Logger(“мій реєстратор”);
logger.info(“Значення розміру”+розмір);
if (size > 50) { //підтвердити розмір
сторінки. set Error(id+.lunSize”, “Розмір LUN не може перевищувати 50 МБ”); //набір
повідомлення про помилку на сторінці
page .set Page Message(“Розмір LUN не може перевищувати 50 МБ”);
//сторінка. встановити статус сторінки (2);
}

Використання результатів попереднього завдання в робочому процесі

Ви можете використовувати вихідні дані попереднього завдання як вхідні дані для іншого завдання в робочому процесі безпосередньо зі сценарію спеціального завдання та завдання «Виконати сценарій Cloupia» бібліотеки завдань.
Щоб отримати доступ до цього результату, ви можете скористатися одним із таких способів:

  • Отримайте змінну з контексту робочого процесу за допомогою методу get Input().
  • Зверніться до результату, використовуючи позначення системних змінних.

Щоб отримати вивід за допомогою контекстного методу getInput(), використовуйте:
var name = ctxt.getInput(“PreviousTaskName.outputFieldName”);

наприкладampле:
var name = ctxt.getInput(“custom_task1_1684.NAME”); // NAME - це ім'я виходу task1
поле, до якого потрібно отримати доступ
Щоб отримати вихідні дані за допомогою нотації системних змінних, використовуйте:
var name = “${Назва попереднього завдання. Ім'я поля виведення}”;

наприкладampле:
var name = “${custom_task1_1684.NAME}”; // NAME — це ім’я поля виводу task1, до якого ви бажаєте отримати доступ

Example: Створення та виконання спеціального завдання

Щоб створити спеціальне завдання, виконайте такі дії:

  • Крок 1 Виберіть Orchestration.
  • Крок 2 Клацніть Custom Workflow Tasks.
  • Крок 3 Клацніть «Додати» та введіть інформацію про спеціальне завдання.
  • Крок 4 Натисніть Далі.
  • Крок 5 Натисніть + і додайте деталі введення.
  • Крок 6 Натисніть Надіслати.
  • Крок 7 Натисніть Далі.
    Відобразиться екран виходів спеціального завдання.
  • Крок 8 Клацніть + і додайте деталі виведення для спеціального завдання.
  • Крок 9 Натисніть Далі.
    Відобразиться екран контролера.
  • Крок 10 Натисніть + і додайте відомості про контролер для спеціального завдання.
  • Крок 11 Натисніть Далі.
    Відобразиться екран сценарію.
  • Крок 12 Виберіть JavaScript як мову виконання та введіть наступний сценарій для виконання.
    logger.addInfo("Привіт, світ!");
    logger.addInfo(“Повідомлення “+input.message);
    де повідомлення — ім’я поля введення.
  • Крок 13 Натисніть «Зберегти сценарій».
  • Крок 14 Натисніть Надіслати.
    Спеціальне завдання визначено та додано до списку спеціальних завдань.
  • Крок 15 На сторінці Orchestration клацніть Workflows.
  • Крок 16 Клацніть «Додати», щоб визначити робочий процес і визначити входи та виходи робочого процесу.
    Після визначення входів і виходів робочого циклу використовуйте конструктор робочого циклу, щоб додати завдання робочого циклу до робочого циклу.
  • Крок 17 Двічі клацніть робочий процес, щоб відкрити його на екрані робочого процесу.
  • Крок 18 У лівій частині конструктора робочих процесів розгорніть папки та виберіть спеціальне завдання (наприклад,ample, «Настроюване завдання Hello world»).
  • Крок 19 Перетягніть вибране завдання до дизайнера робочих процесів.
  • Крок 20 Заповніть поля в Додати завдання ( ) екран.
  • Крок 21 Підключіть завдання до робочого процесу. Див. Посібник з організації Cisco UCS Director.
  • Крок 22 Натисніть Перевірити робочий процес.
  • Крок 23 Натисніть «Виконати зараз» і натисніть «Надіслати».
  • Крок 24 Перегляньте повідомлення журналу у вікні журналу запитів на обслуговування.

Документи / Ресурси

cisco Створення користувацьких завдань робочого процесу [pdfПосібник користувача
Створення користувацьких завдань робочого циклу, користувальницькі завдання робочого циклу, створення завдань робочого циклу, завдання робочого циклу, завдання

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *