この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
Cisco UCS Director Orchestrator は、カスタム タスクのために詳細に定義された入力タイプのリストを提供します。入力タイプのリストを使用してカスタム ワークフロー タスク用の入力を定義できます。Cisco UCS Director では、カスタム ワークフロー タスク用にカスタマイズされたワークフロー入力を作成することもできます。既存の入力タイプを複製して変更することで、新しい入力タイプを作成できます。
カスタム タスクを記述する前に、次の前提条件を満たす必要があります。
Cisco UCS Director がインストール済みで、システム上で動作していること。Cisco UCS Director をインストールする方法の詳細については、『Cisco UCS Director Installation and Configuration Guide』を参照してください。
管理者権限でログインしていること。カスタム タスクを作成および変更するときはこのログインを使用する必要があります。
カスタム ワークフロー タスクのカスタム入力を作成できます。作成した入力は、カスタム ワークフロー タスクの作成時にカスタム タスク入力にマッピングできる、入力タイプのリストに表示されます。
Cisco UCS Director 内の既存のカスタム ワークフロー入力を使用してカスタム ワークフロー入力を作成できます。
カスタム ワークフロー入力が Cisco UCS Director で利用可能である必要があります。
ステップ 1 | メニュー バーで、 を選択します。 |
ステップ 2 | [カスタムワークフローの入力値(Custom Workflow Inputs)] タブを選択します。 |
ステップ 3 | クローンを作成する必要があるカスタム ワークフロー入力を選択します。 [カスタムワークフローの入力値(Custom Workflow Inputs)] テーブルの上部に [複製(Clone)] アイコンが表示されます。 |
ステップ 4 | [複製(Clone)] アイコンをクリックします。 |
ステップ 5 | [カスタム入力タイプ名(Custom Input Type Name)] フィールドに新しい入力の名前を入力します。 |
ステップ 6 | [カスタムワークフロー入力の複製(Clone Custom Workflow Input)] ダイアログボックスの他のコントロールを使用して、新しい入力をカスタマイズします。 |
ステップ 7 | [送信(Submit)] をクリックします。 カスタム ワークフロー タスク入力は確認後にクローン作成され、カスタム ワークフロー タスクで使用できるようになります。 |
カスタム タスクを作成するには、次の手順を実行します。
ステップ 1 | メニュー バーで、 を選択します。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 2 | [カスタムワークフロータスク(Custom Workflow Tasks)] タブを選択します。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 3 | [追加(Add)] アイコンをクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 4 | [カスタムワークフロータスクの追加(Add Custom Workflow Task)] ダイアログボックスで、次のフィールドに入力します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 5 | [次へ(Next)] をクリックします。 [カスタムワークフロータスク入力(Custom workflow Tasks Inputs)] ウィンドウが表示されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 6 | [追加(Add)] アイコンをクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 7 | [入力フィールドへのエントリの追加(Add Entry to Inputs)] ダイアログボックスで、次のフィールドに入力します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 8 | [送信(Submit)] をクリックします。 エントリが正常に追加されたことを示すメッセージが表示されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 9 | [OK] をクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 10 | 入力にさらにエントリを追加するには [追加(Add)] アイコンをクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 11 | [次へ(Next)] をクリックします。 [カスタムワークフロータスク出力(Custom Workflow Tasks Outputs)] ウィンドウが表示されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 12 | [追加(Add)] アイコンをクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 13 | [出力にエントリを追加(Add Entry to Outputs)] ダイアログボックスで、次のフィールドに入力します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 14 | [送信(Submit)] をクリックします。 エントリが正常に追加されたことを示すメッセージが表示されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 15 | [OK] をクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 16 | 出力にさらにエントリを追加するには [追加(Add)] アイコンをクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 17 | [次へ(Next)] をクリックします。 [コントローラ(Controller)] ウィンドウが表示されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 18 | (オプション)[追加(Add)] アイコンをクリックしてコントローラを追加します。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 19 | [コントローラにエントリを追加(Add Entry to Controller)] ダイアログボックスで、次のフィールドに入力します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 20 | [送信(Submit)] をクリックします。 エントリが正常に追加されたことを示すメッセージが表示されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 21 | [次へ(Next)] をクリックします。 [スクリプト(Script)] ウィンドウが表示されます。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 22 | [実行言語(Execution Language)] ドロップダウン リストから言語を選択します。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 23 | [スクリプト(Script)] フィールドに、カスタム ワークフロー タスクの CloupiaScript コードを入力します。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 24 | [スクリプトの保存(Save Script)] をクリックします。 | ||||||||||||||||||||||||||||||||||||||||||||||||
ステップ 25 | [送信(Submit)] をクリックします。 カスタム ワークフロー タスクが作成され、ワークフローで使用できるようになります。 |
Cisco UCS Director にアーティファクトをインポートするには、次の手順を実行します。
ステップ 1 | メニュー バーで、 を選択します。 | ||||||||||||||||
ステップ 2 | [オーケストレーション(Orchestration)] ペインで [ワークフロー(Workflows)] タブをクリックします。 | ||||||||||||||||
ステップ 3 | [インポート(Import)] アクションをクリックします。 | ||||||||||||||||
ステップ 4 | [インポート(Import)] ダイアログボックスで、[アップロード(Upload)] をクリックします。 | ||||||||||||||||
ステップ 5 | [ファイルのアップロード(File Upload)] ダイアログで、[コンピュータからファイルをクリックして選択する(Click and select a file from your computer)] をクリックします。 | ||||||||||||||||
ステップ 6 | インポート ファイルを選択します。Cisco UCS Director のインポートおよびエクスポート ファイルには .wfdx というファイル拡張子が付いています。 ファイルがアップロードされると、[ファイルのアップロード(File Upload)] ダイアログに [ファイルが使用できるようになりました(File ready for use)] と表示されます。 | ||||||||||||||||
ステップ 7 | [ファイルのアップロード(File Upload)] ダイアログを閉じます。 | ||||||||||||||||
ステップ 8 | [次へ(Next)] をクリックします。 [インポート(Import)] ダイアログに、アップロードされたファイルに含まれている Cisco UCS Director オブジェクトのリストが表示されます。 | ||||||||||||||||
ステップ 9 | (任意)オブジェクトがワークフロー フォルダにすでに存在する名前と重複する場合のオブジェクトの処理方法を指定します。[インポート(Import)] ダイアログボックスで、次のフィールドに値を入力します。
| ||||||||||||||||
ステップ 10 | [インポート(Import)] をクリックします。 |
ステップ 1 | メニュー バーで、 を選択します。 | ||||||||
ステップ 2 | [オーケストレーション(Orchestration)] ペインで [ワークフロー(Workflows)] タブをクリックします。 | ||||||||
ステップ 3 | [ワークフロー(Workflows)] タブで、[エクスポート(Export)] をクリックします。 | ||||||||
ステップ 4 | [ワークフローの選択(Select Workflows)] 画面で、エクスポートするワークフローを選択します。 | ||||||||
ステップ 5 | [次へ(Next)] をクリックします。 | ||||||||
ステップ 6 | [カスタムタスクの選択(Select Custom Tasks)] 画面で、エクスポートするカスタム タスクを選択します。 | ||||||||
ステップ 7 | [次へ(Next)] をクリックします。 | ||||||||
ステップ 8 | [エクスポート:スクリプトモジュールの選択(Export: Select Script Modules)] 画面で、エクスポートするスクリプト モジュールを選択します。 | ||||||||
ステップ 9 | [次へ(Next)] をクリックします。 | ||||||||
ステップ 10 | [エクスポート:アクティビティの選択(Export: Select Activities)] 画面で、エクスポートするアクティビティを選択します。 | ||||||||
ステップ 11 | [エクスポート:確認(Export: Confirmation)] 画面で、次のフィールドに値を入力します。
| ||||||||
ステップ 12 | [エクスポート(Export)] をクリックします。 |
ファイルを保存するよう求められます。
タスク ライブラリ内のタスクを複製してカスタム タスクの作成に使用できます。
複製されたタスクは元のタスクと同じタスクの入出力を備えたフレームワークです。ただし、複製したタスクはフレームワークだけであることに注意してください。これは、CloupiaScript で新しいタスクのすべての機能を記述する必要があることを意味します。
また、ドロップダウン リストや値リストなどのリスト入力の選択値は、リストの値がシステムに依存していない場合に限り、複製したタスクに引き継がれることにも注意してください。既存システムの名前や IP アドレスなどはシステムに依存しており、Cisco UCS Director でサポートされる構成オプションなどは依存していません。たとえば、ユーザ グループ、クラウド名、ポート グループは、システムに依存しており、ユーザ ロール、クラウド タイプ、ポート グループ タイプは依存していません。
ステップ 1 | メニュー バーで、 を選択します。 |
ステップ 2 | [カスタムワークフロータスク(Custom Workflow Tasks)] タブを選択します。 |
ステップ 3 | [タスクライブラリよりクローン(Clone From Task Library)] をクリックします。 |
ステップ 4 | [タスクライブラリよりクローン(Clone From Task Library)] ダイアログボックスで、[選択(Select)] をクリックします。 |
ステップ 5 | タスク リストからタスクを選択します。 |
ステップ 6 | [選択(Select)] をクリックします。 タスク ライブラリからカスタム ワークフロー タスクが作成されます。新しいカスタム タスクはカスタム ワークフロー タスク レポートの最後のカスタム タスクです。新しいカスタム タスクの名前は、複製されたタスクにちなんで付けられ、日付が追加されます。 |
カスタム ワークフロー タスクを編集します。
Cisco UCS Director 内の既存のカスタム ワークフロー タスクを使用してカスタム ワークフロー タスクを作成できます。
カスタム ワークフロー タスクが Cisco UCS Director で利用可能である必要があります。
ステップ 1 | メニュー バーで、 を選択します。 |
ステップ 2 | [カスタムワークフロータスク(Custom Workflow Tasks)] タブを選択します。 |
ステップ 3 | 複製するカスタム ワークフロー タスクを選択します。 [カスタムワークフロータスク(Custom Workflow Tasks)] テーブルの上部に [複製(Clone)] アイコンが表示されます。 |
ステップ 4 | [複製(Clone)] アイコンをクリックします。 |
ステップ 5 | [カスタムワークフロータスクの複製(Clone Custom Workflow Task)] ダイアログボックスで、必須フィールドを更新します。 |
ステップ 6 | [次へ(Next)] をクリックします。 カスタム ワークフロー タスク用に定義された入力が表示されます。 |
ステップ 7 | タスク入力を編集します。 |
ステップ 8 | [次へ(Next)] をクリックします。 タスク出力を編集します。 |
ステップ 9 | 新規出力エントリを追加するには [追加(Add)] アイコンをクリックします。 |
ステップ 10 | [次へ(Next)] をクリックします。 |
ステップ 11 | コントローラ スクリプトを編集します。「カスタム ワークフロー タスク入力の制御」を参照してください。 |
ステップ 12 | [次へ(Next)] をクリックします。 |
ステップ 13 | カスタム タスクをカスタマイズするには、タスクのスクリプトを編集します。 |
ステップ 14 | [送信(Submit)] をクリックします。 |
Cisco UCS Director のコントローラ インターフェイスを使用して、カスタム タスク入力の外観と動作を変更できます。
GUI 制御の表示または非表示:条件に基づいて、チェック ボックス、テキスト ボックス、ドロップダウン リスト、ボタンなどのさまざまな GUI フィールドの表示/非表示を動的に切り替えることができます。たとえば、ユーザがドロップダウン リストから [UCSM] を選択したときに Cisco UCS Manager に対するユーザ クレデンシャルの入力を促すプロンプトが出されるようにしたり、サーバで使用可能なポートのみがドロップダウン リストの値のリスト(LOV)に表示されるようにしたりできます。
フォーム フィールド検証:[ワークフローデザイナ(Workflow Designer)] でワークフローの作成時または編集時に、ユーザが入力したデータを検証できます。ユーザが無効な値を入力した場合は、エラーを表示できます。ユーザの入力データに変更を加えてからデータベースまたはデバイスに保存できます。
値のリストの動的取得:Cisco UCS Director オブジェクトから値のリストを動的に取得して、GUI フォーム オブジェクトに入力できます。
コントローラは、ワークフロー デザイナーのタスク入力インターフェイスにあるフォームに常に関連付けられています。フォームとコントローラの関連付けは 1 対 1 です。コントローラは、整列化と非整列化という 2 つのステージで機能します。どちらのステージにも、前後にサブステージがあります。コントローラを使用するには、コントローラのスクリプトを使用して、関連する GUI フォーム オブジェクトの整列化(UI フォーム フィールドの制御)や非整列化(ユーザ入力の検証)を実行します。
次の表は、各ステージの内容を説明しています。
ステージ |
サブステージ |
---|---|
[整列化(Marshalling)]:フォーム フィールドの表示/非表示を切り替えるために使用します。また、LOV および表形式の LOV を詳細に制御する場合にも使用します。 |
[beforeMarshall]:入力フィールドを追加または設定して、ページ(フォーム)上に動的に LOV を作成および設定するために使用します。 [afterMarshall]:入力フィールドの表示/非表示を切り替えるために使用します。 |
[非整列化(Unmarshalling)]:ユーザ入力の検証に使用します。 |
[beforeUnmarshall]:入力値の形式を変換するために使用します。たとえば、データベースに送信する前にパスワードを暗号化する場合などです。 [afterUnmarshall]:ユーザ入力を検証し、ページ上に表示するエラー メッセージを設定するために使用します。 |
コントローラを使用するために追加のパッケージをインポートする必要はありません。
コントローラのメソッドにはパラメータを渡しません。代わりに、Cisco UCS Director フレームワークでは、整列化および非整列化に次のパラメータを使用できるようになっています。
パラメータ |
説明 |
例 |
---|---|---|
Page |
すべてのタスク入力を格納するページまたはフォーム。このパラメータを使用することで、次の作業が実行できます。 |
page.setHidden(id + ".portList", true); page.setValue(id + ".status", "No Port is up. Port List is Hidden"); |
id |
フォーム入力フィールドの固有識別子。フレームワークにより生成され、フォーム入力フィールド名と共に使用できます。 |
page.setValue(id + ".status", "No Port is up. Port List is Hidden");// here ‘status’ is the name of the input field. |
Pojo |
POJO(Plain Old Java Object)は、入力フォームを表す Java Bean です。すべての GUI ページには対応する POJO が必要で、各 POJO がそのフォームからの値を保持します。POJO を使用して、値をデータベースに保存したり外部デバイスに送信したりします。 |
pojo.setLunSize(asciiValue); //set the value of the input field 'lunSize' |
コントローラの機能を使用する、運用可能なコード サンプルについては、例:コントローラの使用 を参照してください。
次のコード例は、beforeMarshall、afterMarshall、beforeUnmarshall および afterUnmarshall などの各種メソッドを使用して、カスタム ワークフロー タスク内でコントローラの機能を実装する方法を示しています。
/* Method Descriptions: Before Marshall: Use this method to add or set an input field and dynamically create and set the LOV on a page(form). After Marshall: Use this method to hide or unhide an input field. Before UnMarshall: Use this method to convert an input value from one form to another form, for example, when you want to encrypt the password before sending it to the database. After UnMarshall: Use this method to validate a user input and set the error message on the page. */ //Before Marshall: /* Use the beforeMarshall method when there is a change in the input field or to dynamically create LOVs and to set the new input field on the form before it gets loaded. In the example below, a new input field 'portList' is added on the page before the form is displayed in a browser. */ importPackage(com.cloupia.model.cIM); importPackage(java.util); importPackage(java.lang); var portList = new ArrayList(); var lovLabel = "eth0"; var lovValue = "eth0"; var portListLOV = new Array(); portListLOV[0] = new FormLOVPair(lovLabel, lovValue);//create the lov input field //the parameter 'page' is used to set the input field on the form page.setEmbeddedLOVs(id + ".portList", portListLOV);// set the input field on the form ============================================================================================================= //After Marshall : /* Use this method to hide or unhide an input field. */ page.setHidden(id + ".portList", true); //hide the input field 'portList'. page.setValue(id + ".status", "No Port is up. Port List is Hidden"); page.setEditable(id + ".status", false); ============================================================================================================= //Before Unmarshall : /* Use the beforeUnMarshall method to read the user input and convert it to another form before inserting into the database. For example, you can read the password and store the password in the database after converting it into base64 encoding, or read the employee name and convert to the employee Id when the employee name is sent to the database. In the code example below the lun size is read and converted into an ASCII value. */ importPackage(org.apache.log4j); importPackage(java.lang); importPackage(java.util); var size = page.getValue(id + ".lunSize"); var logger = Logger.getLogger("my logger"); if(size != null){ logger.info("Size value "+size); if((new java.lang.String(size)).matches("\\d+")){ var byteValue = size.getBytes("US-ASCII"); //convert the lun size and get the ASCII character array var asciiValueBuilder = new StringBuilder(); for (var i = 0; i < byteValue.length; i++) { asciiValueBuilder.append(byteValue[i]); } var asciiValue = asciiValueBuilder.toString()+" - Ascii value" //id + ".lunSize" is the identifier of the input field page.setValue(id + ".lunSize",asciiValue); //the parameter 'page' is used to set the value on the input field . pojo.setLunSize(asciiValue); //set the value on the pojo. This pojo will be send to DB or external device. } } ============================================================================================================= // After unMarshall : /* Use this method to validate and set an error message. */ importPackage(org.apache.log4j); importPackage(java.lang); importPackage(java.util); //var size = pojo.getLunSize(); var size = page.getValue(id + ".lunSize"); var logger = Logger.getLogger("my logger"); logger.info("Size value "+size); if (size > 50) { //validate the size page.setError(id+".lunSize", "LUN Size can not be more than 50MB "); //set the error message on the page page.setPageMessage("LUN Size can not be more than 50MB"); //page.setPageStatus(2); }
ステップ 1 | に移動します。 |
ステップ 2 | [追加(Add)] をクリックして、カスタム タスク情報を入力します。 |
ステップ 3 | [次へ(Next)] をクリックします。 [Cloupiaスクリプトインタープリタ(Cloupia Script Interpreter)] ダイアログボックスが表示されます。 |
ステップ 4 | [+] をクリックして入力の詳細を追加します。 |
ステップ 5 | [送信(Submit)] をクリックします。 |
ステップ 6 | [次へ(Next)] をクリックします。 カスタム タスクの出力ウィンドウが表示されます。 |
ステップ 7 | [次へ(Next)] をクリックします。 カスタム タスクのコントローラ ウィンドウが表示されます。 |
ステップ 8 | [次へ(Next)] をクリックします。 スクリプト ウィンドウが表示されます。 |
ステップ 9 | 実行言語として [JavaScript] を選択し、次のスクリプトを入力して実行します。
logger.addInfo("Hello World!"); logger.addInfo("Message "+input.message);message は入力フィールドの名前です。 |
ステップ 10 | [送信(Submit)] をクリックします。 カスタム タスクが定義され、カスタム タスク リストに追加されます。 |
ステップ 11 | [ワークフロー(Workflows)] タブに移動します。 |
ステップ 12 | [追加(Add)] をクリックしてワークフローを追加します。 |
ステップ 13 | ワークフローが作成されたら、「Hello world カスタム タスク」をワークフロー デザイナにドラッグ アンド ドロップします。 |
ステップ 14 | 「Hello World カスタム タスク」をデザイナに追加します。 |
ステップ 15 | [ワークフローの検証(Validate workflow)] をクリックします。 |
ステップ 16 | [今すぐ実行(Execute Now)] をクリックし、[送信(Submit)] をクリックします。 |
ステップ 17 | [サービスリクエスト(Service Request)] ログ ウィンドウでログ メッセージを確認します。 |