ユーザ入力の定義方法
OnCommand Workflow Automation ( WFA )ユーザ入力は、ワークフローの実行中に使用できるデータ入力オプションです。ワークフローの柔軟性と使いやすさを高めるために、ワークフローにユーザ入力パラメータを定義する必要があります。
ユーザー入力は入力フィールドとして表示され、ワークフローのプレビューまたは実行時に関連データを入力できます。ワークフローでコマンドの詳細を指定するときに、ドル記号( $ )でラベルまたは変数を事前に修正することによって、ユーザ入力フィールドを作成できます。たとえば '$VolumeName' は 'Volume Name' ユーザー入力フィールドを作成しますWFA の [ ワークフロー <workflow name> ] ウィンドウの [ ユーザ入力 ] タブに、作成したユーザ入力ラベルが自動的に入力されます。タイプ、表示名、デフォルト値、検証値などのユーザー入力属性を変更することにより、ユーザー入力のタイプを定義し、入力フィールドをカスタマイズすることもできます。
ユーザー入力タイプのオプション
-
* 文字列 *
有効な値には正規表現 (A * など ) を使用できます。
「 0d 」や「 0f 」などの文字列は、「 0d` が double 型の 0 として評価される」のような数字として評価されます。
-
* 番号 *
選択できる数値範囲を定義できます。たとえば、 1 ~ 15 のように指定できます。
-
* Enum *
列挙型を使用して、ユーザー入力フィールドに入力するときに選択できる列挙値を作成できます。必要に応じて、作成した列挙値をロックして、ユーザ入力に対して作成した値のみが選択されるようにすることができます。
-
* クエリ *
クエリタイプは、 WFA キャッシュの値からユーザ入力を選択するときに選択できます。たとえば、次のクエリを使用すると、ユーザ入力フィールドに WFA キャッシュの IP アドレスと名前の値が自動的に入力されます。 'select ip 、 name from storagear.array.' 必要に応じて、クエリによって取得された値をロックして、クエリで再試行された結果のみが選択されるようにすることができます。
-
* 照会(複数選択) *
クエリ(複数選択)タイプはクエリタイプに似ており、ワークフローの実行中に複数の値を選択できます。たとえば、ユーザは、共有とエクスポートとともに複数のボリュームまたはボリュームを選択できます。複数の行を選択したり、選択を 1 行に制限したりできます。行を選択すると、選択した行のすべての列から値が選択されます。
ユーザー入力のクエリ(複数選択)タイプを使用する場合は、次の関数を使用できます。
-
getSize の順にクリックします
-
getValueAt
-
getValueAt2D
-
getValueFrom2DByRowKey
-
-
* ブール値 *
ブール型を使用して、ユーザー入力ダイアログボックスにチェックボックスを表示できます。ブール型は、「 true 」と「 false 」を持つユーザ入力に使用する必要があります。
-
* 表 *
ユーザ入力のテーブルタイプを使用して、ワークフローの実行中に複数の値を入力するために使用できるテーブルの列ヘッダーを指定できます。たとえば、ノード名とポート名のリストを指定するためのテーブルなどです。列ヘッダーに次のいずれかのユーザ入力タイプを指定して、実行時に入力された値を検証することもできます。
-
文字列
-
番号
-
列挙( Enum
-
ブール値
-
クエリ
-
string は、カラムヘッダーのデフォルトのユーザ入力タイプです。別のユーザー入力タイプを指定するには、 [ タイプ ] 列をダブルクリックする必要があります。
Designer で SnapMirror ポリシーとルールの作成ワークフローを開いて、ユーザ入力タイプが「 SnapMirrorPolicyRule 」ユーザ入力でどのように使用されるかを確認できます。
テーブルタイプのユーザ入力を使用する場合は、次の関数を使用できます。
-
getSize の順にクリックします
-
getValueAt
-
getValueAt2D
-
getValueFrom2DByRowKey
Designer で * Create and configure a Storage Virtual Machine with Infinite Volume * ワークフローを開いて、テーブルタイプの使用方法を確認できます。
-
* パスワード *
パスワードの入力用のパスワードタイプをユーザ入力に使用できます。ユーザが入力したパスワードは暗号化され、 WFA アプリケーションとログファイルに一連のアスタリスク文字で表示されます。次の関数を使用してパスワードを復号化できます。このパスワードはコマンドで使用できます。
-
Perl コマンドの場合: WFAUtil::getWfaInputPassword ( $password )
-
PowerShell コマンドの場合: Get-WfaInputPassword-EncryptedPassword$ password
ここで、 $password は、 WFA からコマンドに渡される暗号化されたパスワードです。
-
-
* 辞書 *
選択したディクショナリエントリのテーブルデータを追加できます。辞書エントリ属性は、返される属性を選択します。ワークフローの実行中に、単一の値または複数の値を選択できます。たとえば、 1 つまたは複数のボリュームを選択できます。デフォルトでは、単一の値が選択されています。フィルタ処理のルールを選択することもできます。ルールは、ディクショナリエントリ属性、演算子、および値で構成されます。属性には、その参照の属性も含めることができます。
たとえば、文字列「 aggr 」で始まる名前のすべてのアグリゲートを一覧表示し、使用可能なサイズが 5GB を超えるアグリゲートのルールを指定できます。グループの最初の規則は ' 属性名 ' で ' 演算子は 'starts-name' 、値は aggr です同じグループの 2 番目の規則は ' 属性 available_size_mb' で ' 演算子は '>' および値は 5000 です
次の表に、ユーザ入力タイプに適用できるオプションを示します。
オプション | 説明 |
---|---|
検証中です |
ユーザ入力タイプを検証して、有効な値のみがユーザから入力されるようにすることができます。
|
ロック値 |
クエリーおよび列挙型の値をロックして、ユーザがドロップダウン値を上書きしないようにしたり、表示された値のみを選択できるようにしたりすることができます。 |
必須としてマークしています |
ワークフローの実行を続行するには、ユーザ入力を必須としてマークして、特定のユーザ入力を入力する必要があります。 |
グループ化 |
関連するユーザ入力をグループ化し、ユーザ入力グループの名前を指定できます。グループは、ユーザー入力ダイアログボックスで展開および縮小できます。デフォルトで展開するグループを選択できます。 |
条件の適用 |
条件付きユーザ入力機能を使用すると、別のユーザ入力に対して入力された値に基づいてユーザ入力の値を設定できます。たとえば 'NAS プロトコルを構成するワークフローでは 'Read/Write host lists' ユーザー入力を有効にするために ' プロトコルに必要なユーザー入力を nfs として指定できます |