cisco-Nexus-3000-Series-Low-Latency-Switches-ロゴ

cisco カスタム ワークフロー タスクの作成

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

カスタム ワークフロー入力について

Cisco UCS Director Orchestrator は、カスタム タスク用に明確に定義された入力タイプのリストを提供します。 Cisco UCS Director を使用すると、カスタム ワークフロー タスク用にカスタマイズされたワークフロー入力を作成することもできます。 既存の入力タイプを複製して変更することにより、新しい入力タイプを作成できます。

前提条件

カスタム タスクを作成する前に、次の前提条件を満たす必要があります。

  • Cisco UCS Director がシステムにインストールされ、実行されている。 Cisco UCS Director のインストール方法の詳細については、『Cisco UCS Director Installation and Configuration Guide』を参照してください。
  • 管理者権限でログインしています。 カスタム タスクを作成および変更するときは、このログインを使用する必要があります。
  • CloupiaScript を使用してカスタム タスクを作成するには、CloupiaScript の書き込み権限が必要です。
  • CloupiaScript を使用して作成されたカスタム タスクを実行するには、CloupiaScript の実行権限が必要です。

カスタム ワークフロー入力の作成

カスタム ワークフロー タスクのカスタム入力を作成できます。 入力は、カスタム ワークフロー タスクを作成するときにカスタム タスク入力にマップできる入力タイプのリストに表示されます。

  • ステップ 1 オーケストレーションを選択します。
  • ステップ 2 [カスタム ワークフロー入力] をクリックします。
  • ステップ 3 [追加]をクリックします。
  • ステップ 4 [CustomWorkflow 入力の追加] 画面で、次のフィールドに入力します。
    • カスタム入力タイプ名 - カスタム入力タイプの一意の名前。
    • 入力タイプ - 入力のタイプを確認し、[選択] をクリックします。 選択した入力に基づいて、他のフィールドが表示されます。 例えばamp電子メール アドレスを入力タイプとして選択すると、値のリスト (LOV) が表示されます。 新しいフィールドを使用して、カスタム入力の値を制限します。
  • ステップ5 [Submit]をクリックします。
  • カスタム ワークフロー入力が Cisco UCS Director に追加され、入力タイプのリストで使用できるようになります。
カスタム入力検証

お客様は、外部リソースを使用してワークフロー入力を検証する必要がある場合があります。 すぐに使用できる Cisco UCS Director は、すべての顧客の検証ニーズを満たすことはできません。 このギャップを埋めるために、Cisco UCS Director は、顧客提供のスクリプトを使用して実行時に入力を検証するオプションを提供します。 スクリプトは、入力のエラーにフラグを立てることができ、サービス リクエストを実行する前に有効な入力を要求することができます。 スクリプトは任意の言語で記述でき、任意の外部リソースにアクセスでき、すべてのワークフロー入力値にアクセスできます。
JavaScript、Python、bash シェル スクリプト、またはその他のスクリプト言語を使用して、カスタム検証スクリプトを作成できます。

次の例ampファイル検証スクリプトは、[Orchestration] > [Custom Workflow Inputs] の Cisco UCS Director にあります。

  • Exampル-bash-スクリプト-バリデーター
  • Example-javascript-バリデーター
  • Example-python-バリデーター

exをコピーまたはクローンできますampスクリプト化されたワークフロー入力をファイルして、新しい検証済み入力を作成します。 exも使えますamp独自のスクリプトを開発するためのガイドとして、スクリプト化されたワークフロー入力を参照してください。

スクリプト言語に関係なく、次の機能とルールがスクリプト化されたカスタム入力検証に適用されます。

  • すべてのスクリプト化された検証は別のプロセスで実行されるため、検証プロセスが失敗しても Cisco UCS Director プロセスには影響しません。
  • スクリプトを使用して検証できるのは、一般的なテキスト入力のみです。
  • 検証スクリプトは、入力がワークフロー入力ページに表示されるのと同じ順序で、一度に XNUMX つずつ順番に実行されます。 検証済みの入力ごとに個別のプロセスが起動されます。
  • スクリプトからのゼロ以外の戻り値は、検証の失敗を示します。 必要に応じて、エラー メッセージをワークフロー入力フォームに戻すことができます。
  • すべてのワークフロー入力は、次の XNUMX つの方法で検証スクリプトに渡されます。
    • 「キー」=「値」の形式でスクリプトへの引数として。
    • スクリプト プロセスへの環境変数として。 変数名は入力ラベルです。
      例えばampたとえば、ワークフローに Product-Code というラベルの付いた入力があり、入力値が AbC123 の場合、変数は「Product-Code」=「AbC123」としてバリデータ スクリプトに渡されます。
      これらの入力変数は、必要に応じてスクリプトで使用して検証を実装できます。 例外: テーブル値には、テーブル選択の行番号しか含まれていないため、おそらく役に立たないでしょう。
  • [カスタム ワークフロー入力の編集] ページでは、カスタム タスク エディターでスクリプトを使用できるようになります。 すべての言語の構文が強調表示されます。 構文エラーは、JavaScript バリデーターについてのみチェックされます。
カスタム ワークフロー入力の複製

Cisco UCS Director の既存のカスタム ワークフロー入力を使用して、カスタム ワークフロー入力を作成できます。

始める前に
カスタム ワークフロー入力は、Cisco UCS Director で使用できる必要があります。

  • ステップ 1 オーケストレーションを選択します。
  • ステップ 2 [カスタム ワークフロー入力] をクリックします。
  • ステップ 3 複製するカスタムワークフロー入力のある行をクリックします。
    カスタム ワークフロー入力テーブルの上部に [複製] アイコンが表示されます。
  • ステップ 4 [複製] をクリックします。
  • ステップ 5 カスタム入力タイプ名を入力します。
  • ステップ 6 [カスタム ワークフロー入力の複製] 画面の他のコントロールを使用して、新しい入力をカスタマイズします。
  • ステップ 7 [送信] をクリックします。
    カスタム ワークフロー タスク入力は、確認後に複製され、カスタム ワークフロー タスクで使用できるようになります。
カスタム タスクの作成

カスタム タスクを作成するには、次の手順を実行します。

  • ステップ 1 オーケストレーションを選択します。
  • ステップ 2 [カスタム ワークフロー タスク] をクリックします。
  • ステップ 3 [追加]をクリックします。
  • ステップ 4 [カスタム ワークフロー タスクの追加] 画面で、次のフィールドに入力します。
    • [タスク名] フィールド - カスタム ワークフロー タスクの一意の名前。
    • タスク ラベル フィールド - カスタム ワークフロー タスクを識別するラベル。
    • [Register Under Category] ​​フィールド - カスタム ワークフロー タスクを登録する必要があるワークフロー カテゴリ。
    • [Activate Task] チェック ボックス — オンにすると、カスタム ワークフロー タスクが Orchestrator に登録され、ワー​​クフローですぐに使用できるようになります。
    • 簡単な説明フィールド - カスタム ワークフロー タスクの説明。
    • [詳細な説明] フィールド - カスタム ワークフロー タスクの詳細な説明。
  • ステップ 5 [次へ]をクリックします。
    [カスタム タスク入力] 画面が表示されます。
  • ステップ 6 [追加]をクリックします。
  • ステップ 7 [エントリを入力に追加] 画面で、次のフィールドに入力します。
    • 入力フィールド名フィールド - フィールドの一意の名前。 名前は英字で始める必要があり、スペースや特殊文字を含めることはできません。
    • 入力フィールド ラベル フィールド - 入力フィールドを識別するラベル。
    • [入力フィールド タイプ] ドロップダウン リスト - 入力パラメーターのデータ タイプを選択します。
    • [入力タイプにマッピング (マッピングなし)] フィールド - このフィールドを別のタスク出力またはグローバル ワークフロー入力からマッピングできる場合は、このフィールドをマッピングできる入力のタイプを選択します。
    • 必須チェックボックス - チェックした場合、ユーザーはこのフィールドに値を入力する必要があります。
    • RBID フィールド - フィールドの RBID 文字列を入力します。
    • 入力フィールド サイズ ドロップダウン リスト - テキストおよび表形式の入力のフィールド サイズを選択します。
    • 入力フィールド ヘルプ フィールド - (オプション) フィールドの上にマウスを置いたときに表示される説明。
    • 入力フィールドの注釈フィールド - (オプション) 入力フィールドのヒント テキスト。
    • フィールド グループ名フィールド - 指定すると、一致するグループ名を持つすべてのフィールドがフィールド グループに入れられます。
    • TEXT FIELD ATTRIBUTES エリア - 入力フィールド タイプがテキストの場合、次のフィールドに入力します。
    • [複数入力] チェック ボックス - オンにすると、入力フィールドは入力フィールド タイプに基づいて複数の値を受け入れます。
    • LOV の場合 - 入力フィールドは複数の入力値を受け入れます。
    • テキスト フィールドの場合 - 入力フィールドは複数行のテキスト フィールドになります。
    • 入力フィールドの最大長 — 入力フィールドに入力できる最大文字数を指定します。
    • LOV ATTRIBUTES 領域 - 入力タイプが値のリスト (LOV) またはラジオ ボタン付きの LOV の場合は、次のフィールドに入力します。
    • List of Values フィールド - 埋め込まれた LOV のカンマ区切りの値のリスト。
      LOV プロバイダー名フィールド - 非埋め込み LOV の LOV プロバイダーの名前。
    • TABLE ATTRIBUTES 領域 - 入力フィールド タイプが [テーブル]、[ポップアップ テーブル]、または [選択したテーブル] チェック ボックスの場合、次のフィールドに入力します。
    • テーブル名フィールド - テーブル フィールド タイプの表形式レポートの名前。
    • FIELD INPUT VALIDATION 領域 - 選択したデータ タイプに応じて、次のフィールドの XNUMX つ以上が表示されます。 フィールドに入力して、入力フィールドの検証方法を指定します。
    • 入力バリデータ ドロップダウン リスト - ユーザー入力のバリデータを選択します。
    • 正規表現フィールド - 入力値と照合する正規表現パターン。
    • 正規表現メッセージ フィールド - 正規表現の検証が失敗したときに表示されるメッセージ。
    • 最小値フィールド - 最小の数値。
    • 最大値フィールド - 最大数値。
    • HIDE ON FIELD CONDITION 領域 - 次のフィールドに入力して、フォーム内のフィールドを非表示にする条件を設定します。
    • Hide On Field Name field — フォームを処理するプログラムがフィールドを識別できるようにするための、フィールドの内部名。
    • Hide On Field Value フィールド - フォームが送信された後に送信する必要がある値。
    • [フィールド条件で非表示] ドロップダウン リスト - フィールドを非表示にする条件を選択します。
    • HTML ヘルプ フィールド - 非表示フィールドのヘルプ手順。
  • ステップ 8 [送信] をクリックします。
    入力エントリがテーブルに追加されます。
  • ステップ 9 [追加] をクリックして、入力にさらにエントリを追加します。
  • ステップ 10 入力の追加が完了したら、[次へ] をクリックします。
    [カスタム ワークフロー タスクの出力] 画面が表示されます。
  • ステップ 11 [追加]をクリックします。
  • ステップ 12 [エントリを出力に追加] 画面で、次のフィールドに入力します。
    • 出力フィールド名フィールド — 出力フィールドの一意の名前。 先頭は英字にする必要があり、スペースや特殊文字を含めることはできません。
    • 出力フィールドの説明 field — 出力フィールドの説明。
    • 出力フィールド タイプ フィールド - 出力のタイプを確認します。 このタイプは、出力を他のタスク入力にマップする方法を決定します。
  • ステップ 13 [送信] をクリックします。
    出力エントリがテーブルに追加されます。
  • ステップ 14 [追加] をクリックして、さらにエントリを出力に追加します。
  • ステップ 15 次へをクリック
    コントローラ画面が表示されます
  • ステップ 16 (オプション) [追加] をクリックしてコントローラを追加します。
  • ステップ 17 [エントリをコントローラに追加] 画面で、次のフィールドに入力します。
    • メソッド ドロップダウン リスト - マーシャリングまたはアンマーシャリング メソッドを選択して、カスタム ワークフロー タスクの入力および/または出力をカスタマイズします。 メソッドは次のいずれかです。
    • マーシャル前 - このメソッドを使用して、入力フィールドを追加または設定し、ページ (フォーム) で LOV を動的に作成および設定します。
    • マーシャル後 - このメソッドを使用して、入力フィールドを非表示または再表示します。
    • アンマーシャル前 - このメソッドを使用して、入力値をある形式から別の形式に変換します。たとえば、ampデータベースに送信する前にパスワードを暗号化したい場合。
    • アンマーシャル後 - このメソッドを使用して、ユーザー入力を検証し、ページにエラー メッセージを設定します。
      Exを参照amp上: コントローラの使用, (14 ページ).
    • スクリプト テキスト エリア - [メソッド] ドロップダウン リストから選択したメソッドについて、GUI カスタマイズ スクリプトのコードを追加します。
      注記 さらにメソッドのコードを追加する場合は、[追加] をクリックします。
      入力したパスワードに検証がある場合は、ワークフローでカスタム タスクを編集できるように、パスワードのコントローラー検証を必ず変更してください。
      注記
  • ステップ 18 [送信] をクリックします。
    コントローラーがテーブルに追加されます。
  • ステップ 19 [次へ]をクリックします。
    スクリプト画面が表示されます。
  • ステップ 20 [実行言語] ドロップダウン リストから言語を選択します。
  • ステップ 21 [スクリプト] フィールドに、カスタム ワークフロー タスクの CloupiaScript コードを入力します。
    Cloupia Script コードは、コードを入力すると検証されます。 コードにエラーがある場合は、行番号の横にエラー アイコン (赤い十字) が表示されます。 エラー アイコンにマウスを合わせると、 view エラーメッセージと解決策
  • ステップ 22 [スクリプトの保存] をクリックします。
  • ステップ 23 [送信] をクリックします。
    カスタム ワークフロー タスクが作成され、ワー​​クフローで使用できるようになります

カスタム タスクとリポジトリ

カスタム タスクを作成するときは、スクリプト ウィンドウにカスタム タスク コードを入力したり、テキスト エディターからコードをカット アンド ペーストしたりするのではなく、 file GitHub または BitBucket リポジトリに保存されます。 これを行うには、次のことを行います。

  1. XNUMX つまたは複数のテキストを作成する files は、github.com またはプライベート エンタープライズ GitHub リポジトリのいずれかの GitHub または BitBucket リポジトリにあります。
    (注) Cisco UCS Director は、GitHub(github.com またはエンタープライズ GitHub インスタンス)または BitBucket のみをサポートします。 GitLab、Perforce、Codebase などの他の Git ホスティング サービスはサポートしていません。
  2. リポジトリを Cisco UCS Director に登録します。 Cisco UCS Director での GitHub または BitBucket リポジトリの追加, (7 ページ)を参照してください。
  3. リポジトリを選択し、テキストを指定します file カスタム タスク スクリプトが含まれています。 GitHub または BitBucket リポジトリからのカスタム タスク スクリプト コードのダウンロード, (8 ページ)を参照してください。

Cisco UCS Director での GitHub または BitBucket リポジトリの追加
GitHub または BitBucket リポジトリを Cisco UCS Director に登録するには、次の手順を実行します。

始める前に
GitHub または BitBucket リポジトリを作成します。 リポジトリは、Cisco UCS Director からアクセスできるパブリックまたはプライベートの任意の GitHub または BitBucket サーバに置くことができます。
XNUMX つまたは複数のチェックイン fileカスタム タスクの JavaScript コードを含む をリポジトリに追加します。

  • ステップ 1 [管理] > [統合] を選択します。
  • ステップ 2 [統合] ページで、[リポジトリの管理] をクリックします。
  • ステップ 3 [追加]をクリックします。
  • ステップ 4 [リポジトリの追加] ページで、次のような必須フィールドに入力します。
    • [Repository Nickname] フィールドに、Cisco UCS Director 内のリポジトリを識別する名前を入力します。
    • リポジトリ内 URL フィールドに、 URL GitHub または BitBucket リポジトリの。
    • [ブランチ名] フィールドに、使用するリポジトリ ブランチの名前を入力します。 デフォルト名は main ブランチです。
    • [リポジトリ ユーザー] フィールドに、GitHub または BitBucket アカウントのユーザー名を入力します。
    • GitHub リポジトリを追加するには、[パスワード/API トークン] フィールドに、GitHub 用に生成された API トークンを入力します。
      GitHub を使用して API トークンを生成するには、[設定] をクリックし、[開発者設定] > [個人用アクセス トークン] に移動して、[新しいトークンを生成] をクリックします。
      BitBucket リポジトリを追加するには、[パスワード/API トークン] フィールドに BitBucket のパスワードを入力します。
    • 新しいカスタム タスクを作成するときにこのリポジトリを既定にするには、[これを既定のリポジトリにする] をオンにします。
    • Cisco UCS Director がリポジトリにアクセスできるかどうかをテストするには、[Test Connectivity] をクリックします。
      リポジトリとの接続状態は、ページ上部のバナーに表示されます。
      Cisco UCS から GitHub または BitBucket リポジトリに接続して通信できない場合
      Director、Cisco UCS Director をアップデートして、プロキシ サーバ経由でインターネットにアクセスします。 Cisco UCS Director アドミニストレーション ガイドを参照してください。
      注記
  • ステップ 5 リポジトリ情報が正しいことを確認したら、[送信] をクリックします。

GitHub または BitBucket リポジトリからのカスタム タスク スクリプト コードのダウンロード

GitHub または BitBucket リポジトリからテキストをインポートして新しいカスタム タスクを作成するには、次の手順を実行します。

始める前に
GitHub または BitBucket リポジトリを作成し、XNUMX つ以上のテキストをチェックインします fileカスタム タスクの JavaScript コードを含む をリポジトリに追加します。

GitHub リポジトリを Cisco UCS Director に追加します。 Cisco UCS Director での GitHub または BitBucket リポジトリの追加(ページ)を参照してください。

  • ステップ 1 [オーケストレーション] ページで、[カスタム ワークフロー タスク] をクリックします。
  • ステップ 2 [追加]をクリックします。
  • ステップ 3 [カスタム タスク情報] ページの必須フィールドに入力します。 カスタムタスクの作成(3 ページ)を参照してください。
  • ステップ 4 [カスタム タスク入力] ページの必須フィールドに入力します。 カスタムタスクの作成(3 ページ)を参照してください。
  • ステップ 5 [カスタム タスクの出力] ページの必須フィールドに入力します。 カスタムタスクの作成(3 ページ)を参照してください。
  • ステップ 6 [コントローラ] ページの必須フィールドに入力します。 カスタムタスクの作成(3 ページ)を参照してください。
  • ステップ 7 [スクリプト] ページで、次の必須フィールドに入力します。
    • [実行言語] ドロップダウン リストから、[JavaScript] を選択します。
    • カスタム タスクがスクリプトを使用できるようにするには、[スクリプトにリポジトリを使用] をオンにします。 file リポジトリから。 これにより、リポジトリを選択してスクリプトを指定できます file 使用する。
    • [リポジトリの選択] ドロップダウン リストから、スクリプトを含む GitHub または BitBucket リポジトリを選択します。 file秒。 リポジトリを追加する方法の詳細については、Cisco UCS Director での GitHub または BitBucket リポジトリの追加, (7 ページ)を参照してください。
    • スクリプトへのフルパスを入力してください file スクリプトで file名前のテキスト フィールド。
    • スクリプトをダウンロードするには、[スクリプトのロード] をクリックします。
      テキストは file スクリプトテキスト編集領域にコピーされます。
    • 必要に応じて、[スクリプト テキスト] 編集領域でダウンロードしたスクリプトを変更します。
    • [スクリプト テキスト] 編集領域に表示されるスクリプトを保存するには、[スクリプトの保存] をクリックします。
      [スクリプトの保存] を押すと、スクリプトが現在の作業セッションに保存されます。 [送信] をクリックして、編集中のカスタム タスクにスクリプトを保存する必要があります。
      注記
  • ステップ 8 カスタム タスクを保存するには、[送信] をクリックします。
    [スクリプト テキスト] 編集領域でダウンロードしたスクリプトに変更を加えた場合、その変更はカスタム タスクに保存されます。 変更は GitHub または BitBucket リポジトリに保存されません。 ロードしたスクリプトを破棄して独自のスクリプトを入力する場合は、[スクリプトの破棄] をクリックしてスクリプト ウィンドウをクリアします。

次に何をすべきか
ワークフローで新しいカスタム タスクを使用できます。

ワークフロー、カスタム タスク、スクリプト モジュール、およびアクティビティのインポート

アーティファクトを Cisco UCS Director にインポートするには、次の手順を実行します。

注記 グローバル変数がアプライアンスで使用できない場合、ワークフローのインポート中に、ワークフローに関連付けられたグローバル変数がインポートされます。

  • ステップ 1 オーケストレーションを選択します。
  • ステップ 2 [オーケストレーション] ページで、[ワークフロー] をクリックします。
  • ステップ 3 [インポート] をクリックします。
  • ステップ 4 [インポート] 画面で、[選択] をクリックします。 File.
  • ステップ 5 選択について File アップロード画面で、 file インポートされます。 Cisco UCS Director のインポートとエクスポート filesには.wfdxがあります file 拡大。
  • ステップ 6 [開く] をクリックします。
    とき file アップロードされ、 File アップロード/検証画面の表示 File すぐに使用できるキー。
  • ステップ 7 エクスポート時に入力したキーを入力する file.
  • ステップ 8 [次へ]をクリックします。
    [ポリシーのインポート] 画面には、アップロードされたポリシーに含まれる Cisco UCS Director オブジェクトのリストが表示されます。 file.
  • ステップ 9 (オプション) [ポリシーのインポート] 画面で、オブジェクトがワークフロー フォルダに既に存在する名前と重複する場合の処理​​方法を指定します。 [インポート] 画面で、次のフィールドに入力します。
名前 説明
ワークフロー 次のオプションから選択して、同じ名前のワークフローの処理方法を指定します。
  • 交換する— 既存のワークフローをインポートされたワークフローに置き換えます。
  • 両方を保持— ワークフローを新しいバージョンとしてインポートします。
  • スキップ— ワークフローをインポートしません。
カスタムタスク 次のオプションから選択して、同じ名前のカスタム タスクの処理方法を指定します。
  • 交換する
  • 両方を保持
  • スキップ
名前 説明
スクリプト モジュール 次のオプションから選択して、同じ名前のスクリプト モジュールの処理方法を指定します。
  • 交換する
  • 両方を保持
  • スキップ
活動 次のオプションから選択して、同じ名前のアクティビティの処理方法を指定します。
  • 交換する
  • 両方を保持
  • スキップ
ワークフローをフォルダにインポート Ch[ワークフローをフォルダーにインポート] を選択して、ワークフローをインポートします。 Import Workflows to Folder をチェックせず、ワークフローの既存のバージョンがない場合w が存在する場合、そのワークフローはインポートされません。
フォルダを選択 ワークフローをインポートするフォルダーを選択します。 選んだら [新しい フォルダ..]

ドロップダウン リストで、 新しいフォルダ フィールドが表示されます。

新しいフォルダ インポート フォルダーとして作成する新しいフォルダーの名前を入力します。
  • ステップ 10 [インポート] をクリックします。

ワークフロー、カスタム タスク、スクリプト モジュール、およびアクティビティのエクスポート

Cisco UCS Director からアーティファクトをエクスポートするには、次の手順を実行します。

注意 ワークフローに関連付けられたグローバル変数は、ワークフローのエクスポート中に自動的にエクスポートされます。

  • ステップ 1 [エクスポート] をクリックします。
  • ステップ 2 [ワークフローの選択] 画面で、エクスポートするワークフローを選択します。
    バージョン 6.6 より前の Cisco UCS Director で作成されたカスタム ワークフロー、タスク、およびスクリプトは、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 でサポートされている設定オプションなどはサポートされていません。 例えばampファイル、ユーザー グループ、クラウド名、ポート グループはシステムに依存します。 ユーザー ロール、クラウドの種類、およびポート グループの種類は異なります。

  • ステップ 1 オーケストレーションを選択します。
  • ステップ 2 [カスタム ワークフロー タスク] をクリックします。
  • ステップ 3 [タスク ライブラリから複製] をクリックします。
  • ステップ 4 [タスク ライブラリから複製] 画面で、複製するタスクの行を確認します。
  • ステップ 5 [選択] をクリックします。
    タスク ライブラリからカスタム ワークフロー タスクが作成されます。 新しいカスタム タスクは、カスタム ワークフロー タスク レポートの最後のカスタム タスクです。 新しいカスタム タスクは、複製されたタスクに日付が付加された名前が付けられます。
  • ステップ 6 [送信] をクリックします

次に何をすべきか
カスタム ワークフロー タスクを編集して、複製されたタスクに適切な名前と説明が配置されるようにします。

カスタム ワークフロー タスクの複製

Cisco UCS Director の既存のカスタム ワークフロー タスクを使用して、カスタム ワークフロー タスクを作成できます。

始める前に
カスタム ワークフロー タスクは、Cisco UCS Director で使用できる必要があります。

  • ステップ 1 オーケストレーションを選択します。
  • ステップ 2 [カスタム ワークフロー タスク] をクリックします。
  • ステップ 3 複製するカスタム ワークフロー タスクのある行をクリックします。
    カスタム ワークフロー タスク テーブルの上部に [複製] アイコンが表示されます。
  • ステップ 4 [複製] をクリックします。
  • ステップ 5 [カスタム ワークフロー タスクの複製] 画面で、必須フィールドを更新します。
  • ステップ 6 [次へ]をクリックします。
    カスタム ワークフロー タスク用に定義された入力が表示されます。
  • ステップ 7 編集するタスク入力のある行をクリックし、[編集] をクリックしてタスク入力を編集します。
  • ステップ 8 [追加] をクリックして、タスク入力エントリを追加します。
  • ステップ 9 [次へ]をクリックします。
    タスク出力を編集します。
  • ステップ 10 [追加] をクリックして、新しい出力エントリを追加します。
  • ステップ 11 [次へ]をクリックします。
  • ステップ 12 コントローラ スクリプトを編集します。 カスタムワークフロータスク入力の制御, (13 ページ)を参照してください。
  • ステップ 13 [次へ]をクリックします。
  • ステップ 14 カスタム タスクをカスタマイズするには、タスク スクリプトを編集します。
  • ステップ 15 [送信] をクリックします
カスタム ワークフロー タスク入力の制御

コントローラーの使用
Cisco UCS Director で使用可能なコントローラ インターフェイスを使用して、カスタム タスク入力の外観と動作を変更できます。

コントローラを使用する場合
次のシナリオでコントローラーを使用します。

  • 値のリスト、表形式の値のリスト、およびユーザーに表示されるその他の入力コントロールのより細かい制御を含む、複雑な表示および非表示の GUI 動作を実装する。
  • 複雑なユーザー入力の検証ロジックを実装するため。

入力コントローラーを使用すると、次のことができます。

  • GUI コントロールの表示または非表示: 条件に基づいて、チェックボックス、テキスト ボックス、ドロップダウン リスト、ボタンなどのさまざまな GUI フィールドを動的に表示または非表示にすることができます。 例えばampユーザーがドロップダウン リストから UCSM を選択した場合、Cisco UCS Manager のユーザー クレデンシャルを要求するか、ドロップダウン リストの値のリスト (LOV) を変更して、サーバーで使用可能なポートのみを表示することができます。
  • フォーム フィールドの検証: ワークフロー デザイナーでワークフローを作成または編集するときに、ユーザーが入力したデータを検証できます。 ユーザーが入力した無効なデータについては、エラーが表示される場合があります。 ユーザー入力データは、データベースに永続化される前、またはデバイスに永続化される前に変更できます。
  • 値のリストを動的に取得する:Cisco UCS Director オブジェクトから値のリストを動的にフェッチし、それらを使用して GUI フォーム オブジェクトに入力できます。

GUI フォーム オブジェクトのマーシャリングとアンマーシャリング
コントローラは、ワークフロー デザイナのタスク入力インターフェイスで常にフォームに関連付けられています。 フォームとコントローラーの間には XNUMX 対 XNUMX のマッピングがあります。 コントローラーは XNUMX 秒で動作しますtages、マーシャリングとアンマーシャリング。 両方tagesにはXNUMXつのサブがありますtagえ、前後。 コントローラーを使用するには、コントローラーのスクリプトを使用して、関連する GUI フォーム オブジェクトをマーシャリング (UI フォーム フィールドの制御) および/またはアンマーシャリング (ユーザー入力の検証) します。

次の表は、これらの s をまとめたものです。tages。

Stage サブtage
マーシャリング — フォーム フィールドの非表示と再表示、および LOV と表形式の LOV の高度な制御に使用されます。 マーシャル前 — 入力フィールドを追加または設定し、ページ (フォーム) で LOV を動的に作成および設定するために使用されます。

マーシャルの後 — 入力フィールドを非表示または再表示するために使用されます。

Stage サブtage
アンマーシャリング – フォームのユーザー入力の検証に使用されます。 アンマーシャル前 — 入力値をある形式から別の形式に変換するために使用されます。ample、データベースに送信する前にパスワードを暗号化します。

アンマーシャル後 — ユーザー入力を検証し、ページにエラー メッセージを設定するために使用されます。

コントローラ スクリプトの構築
コントローラーでは、追加のパッケージをインポートする必要はありません。
コントローラー メソッドにパラメーターを渡しません。 代わりに、Cisco UCS Director フレームワークは、次のパラメータをマーシャリングおよびアンマーシャリングで使用できるようにします。

パラメータ 説明 Example
ページ すべてのタスク入力を含むページまたはフォーム。 このパラメーターを使用して、次のことを行うことができます。
  • GUI フォームで入力値を取得または設定します。
  • GUI フォームで入力を表示または非表示にします。
page.setHidden(id + “.portList”, true); page.setValue(id + “.status”, “ポートが起動していません。ポート リストは非表示です”);
id フォーム入力フィールドの一意の識別子。 id はフレームワークによって生成され、フォーム入力フィールド名で使用できます。 page.setValue(id + “.status”, “No Port is up. Port List is Hidden”);// ここで 'status' は入力フィールドの名前です。
ポジョ POJO (plain old Java object) は、入力フォームを表す Java Bean です。 すべての GUI ページには、フォームからの値を保持する対応する POJO が必要です。 POJO は、値をデータベースに永続化するか、値を外部デバイスに送信するために使用されます。 pojo.setLunSize(asciiValue); // 入力フィールド 'lunSize' の値を設定します

Exを参照amp上: 機能するコードについては、コントローラの使用, (14 ページ)ampコントローラの機能を示すファイル。

Example: コントローラーの使用

次のコード例ampファイルは、さまざまな方法 (マーシャル前、マーシャル後、アンマーシャル前、アンマーシャル後) を使用して、カスタム ワークフロー タスクにコントローラー機能を実装する方法を示しています。
/*

メソッドの説明:
マーシャル前: このメソッドを使用して、入力フィールドを追加または設定し、ページ (フォーム) で LOV を動的に作成および設定します。
マーシャル後: このメソッドを使用して、入力フィールドを非表示または再表示します。
UnMarshall の前: このメソッドを使用して、入力値をある形式から別の形式に変換します。
例えばampデータベースに送信する前にパスワードを暗号化したい場合。 UnMarshall の後: このメソッドを使用して、ユーザー入力を検証し、エラー メッセージを
ページ。
*/
//マーシャル前:
/*
入力フィールドに変更がある場合、または動的に LOV を作成し、ロードされる前にフォームに新しい入力フィールドを設定するには、beforeMarshall メソッドを使用します。
元amp以下のファイルでは、フォームがブラウザに表示される前に、新しい入力フィールド「portList」がページに追加されています。
*/
importPackage(com.cloupia.model.cIM);
importPackage(java.util);
importPackage(java.lang);
var portList = 新しい ArrayList();
var lovLabel = “eth0”;
var lovValue = "eth0";
var portListLOV = 新しい Array();
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);
================================================== ================================================== =========
//アンマーシャル前:
/*
beforeUnMarshall メソッドを使用してユーザー入力を読み取り、データベースに挿入する前に別のフォームに変換します。 例えばampパスワードを読み取り、パスワードを base64 エンコーディングに変換してからデータベースに保存するか、従業員名を読み取り、従業員名がデータベースに送信されるときに従業員 ID に変換できます。
コード例ではamplun サイズ未満のファイルが読み取られ、ASCII 値に変換されます。
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
var size = page.getValue(id + “.lunSize”);
var logger = Logger.getLogger(“私のロガー”);
if(サイズ!=ヌル){
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()+” – アスキー
価値"
//id + 「.lunSize」は入力フィールドの識別子
page.setValue(id + “.lunSize”,asciiValue); // パラメータ
「ページ」は、入力フィールドに値を設定するために使用されます。
pojo.setLunSize(asciiValue); // pojo に値を設定します。
このpojoはDBまたは外部デバイスに送信されます
}
================================================== ================================================== =========
// unMarshall の後:
/*
このメソッドを使用して、エラー メッセージを検証および設定します。
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
//var サイズ = pojo.getLunSize();
var size = page.get Value(id + “.lunSize”);
var logger = Logger .get Logger(“私のロガー”);
logger.info(“サイズ値”+サイズ);
if (size > 50) { //サイズを検証する
ページ。 set Error(id+”.lunSize”, “LUN サイズは 50MB を超えることはできません”); //設定
ページのエラーメッセージ
page .set Page Message(“LUN サイズは 50MB を超えることはできません”);
//ページ。 ページの状態を設定します (2);
}

ワークフローで前のタスクの出力を使用する

前のタスクの出力を、ワークフロー内の別のタスクの入力として、カスタム タスクのスクリプトおよびタスク ライブラリの Cloupia スクリプトの実行タスクから直接使用できます。
この出力にアクセスするには、次のいずれかの方法を使用できます。

  • get Input() メソッドを使用して、ワークフロー コンテキストから変数を取得します。
  • システム変数表記を使用して出力を参照してください。

context getInput() メソッドを使用して出力を取得するには、次を使用します。
var name = ctxt.getInput(“前のタスク名.出力フィールド名”);

例えばamp上:
var name = ctxt.getInput(“custom_task1_1684.NAME”); // NAME は task1 出力の名前です
アクセスしたいフィールド
システム変数表記を使用して出力を取得するには、次を使用します。
var name = “${前のタスク名. 出力フィールド名}」;

例えばamp上:
var name = "${custom_task1_1684.NAME}"; // NAME は、アクセスする task1 出力フィールドの名前です

Example: カスタム タスクの作成と実行

カスタム タスクを作成するには、次の手順を実行します。

  • ステップ 1 オーケストレーションを選択します。
  • ステップ 2 [カスタム ワークフロー タスク] をクリックします。
  • ステップ 3 [追加] をクリックし、カスタム タスク情報を入力します。
  • ステップ 4 [次へ]をクリックします。
  • ステップ 5 + をクリックし、入力内容を追加します。
  • ステップ 6 [送信] をクリックします。
  • ステップ 7 [次へ]をクリックします。
    [カスタム タスク出力] 画面が表示されます。
  • ステップ 8 [+] をクリックして、カスタム タスクの出力の詳細を追加します。
  • ステップ 9 [次へ]をクリックします。
    コントローラ画面が表示されます。
  • ステップ 10 [+] をクリックして、カスタム タスクのコントローラの詳細を追加します。
  • ステップ 11 [次へ]をクリックします。
    スクリプト画面が表示されます。
  • ステップ 12 実行言語として JavaScript を選択し、次のスクリプトを入力して実行します。
    logger.addInfo(“Hello World!”);
    logger.addInfo(“メッセージ”+input.message);
    message は入力フィールド名です。
  • ステップ 13 [スクリプトの保存] をクリックします。
  • ステップ 14 [送信] をクリックします。
    カスタム タスクが定義され、カスタム タスク リストに追加されます。
  • ステップ 15 [オーケストレーション] ページで、[ワークフロー] をクリックします。
  • ステップ 16 [追加] をクリックしてワークフローを定義し、ワークフローの入力と出力を定義します。
    ワークフローの入力と出力を定義したら、ワークフロー デザイナーを使用してワークフロー タスクをワークフローに追加します。
  • ステップ 17 ワークフローをダブルクリックして、Workflow Designer 画面でワークフローを開きます。
  • ステップ 18 ワークフロー デザイナの左側で、フォルダを展開し、カスタム タスクを選択します (例:ampル、「Hello world カスタム タスク」)。
  • ステップ 19 選択したタスクをワークフロー デザイナーにドラッグ アンド ドロップします。
  • ステップ 20 タスクの追加 ( ) 画面。
  • ステップ 21 タスクをワークフローに接続します。 Cisco UCS Director オーケストレーション ガイドを参照してください。
  • ステップ 22 [ワークフローの検証] をクリックします。
  • ステップ 23 [今すぐ実行] をクリックし、[送信] をクリックします。
  • ステップ 24 Service Request ログ ウィンドウでログ メッセージを確認します。

ドキュメント / リソース

cisco カスタム ワークフロー タスクの作成 [pdf] ユーザーガイド
カスタム ワークフロー タスクの作成, カスタム ワークフロー タスク, ワークフロー タスクの作成, ワークフロー タスク, タスク

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *