日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

テンプレートのビルディングブロック

寄稿者 netapp-tonacki このページの PDF をダウンロード

アクション間で値を渡す(ボリューム名など)、アクションを相互に接続する条件付き分岐(新しいボリュームでバックアップを有効にする)、およびテンプレートを使用する際のリソースのカスタマイズに役立つテンプレートを構築する場合に使用できる機能があります。

特殊なテンプレートコントロール

テンプレートの作成を開始する前に、テンプレート内のパラメータの値を事前に入力するときに設定できるいくつかの特別なオプションについて理解しておく必要があります。

パラメータ値に設定可能な編集可能オプションとドリフトオプションのスクリーンショット。

[ 編集可能 ] チェックボックス

このチェックボックスをオンにすると、ストレージ管理者は、テンプレートで入力した値よりも優先されます。ストレージ管理者は値を提案しますが、リソースの作成時に値をカスタマイズできます。

オフにした場合、ユーザーは値を変更できず、管理者がリソースを展開するときにテンプレート内のハードコードされた値が常に使用されます。

ドリフトチェックボックス

このチェックボックスをオンにすると、テンプレートを使用してリソースを作成するときに、 Cloud Manager がパラメータに対して入力したハードコーディングされた値を監視します。ドリフトレポートを実行すると、ドリフトで構成されたどのフィールドがテンプレート設定に適合しなくなったかを確認できます。

オフにすると、リソースが作成された後で値を任意の値に変更できます。

注記 ドリフト機能を使用するには、テンプレートで一部のパラメータのドリフトを定義した後で、テンプレートのドリフト機能を有効にする必要があります。これは、テンプレートを作成する最後のステップです。ドリフトは、パラメータに対して有効になっていても、テンプレートで有効になっていない場合は機能しません。

フィールドで正規表現( regex )を使用する

テンプレートには、管理者がフィールドに入力できる値を定義するための正規表現を入力できるフィールドがいくつかあります。たとえば、「ボリューム名」や「共有名」などです。

ボリューム名に使用できる値を定義する正規表現を使用するスクリーンショット。

たとえば、ボリューム名の正規表現として「 ^[a-zA-Z][0-9aa-zA-Za-z_]{0,149}$ 」と入力すると、「 _The name 」はアルファベットで始まる必要があります。使用できる文字は、数字、アルファベット、またはアンダースコアのみで、 150 文字以下である必要があります。

テンプレートアクション間で値を渡す

テンプレートには、前のアクションの情報を使用して、将来のアクションでフィールドにデータを入力する機能があります。たとえば、クラウドバックアップ機能を有効にするボリュームの名前を定義する際に、 Create Cloud Volumes ONTAP アクションで、ボリューム名として入力したストレージ管理者の値を使用するようにバックアップアクションを設定できます。

AppTemplate サービスで使用できる情報には、次の 3 種類があります。

  • 入力値 - 以前のテンプレートアクションでストレージ管理者がフィールドに入力した実際の値です。

  • 出力値 - これは、前のテンプレートアクションからリソースを作成したあとに Cloud Manager によって生成される値です。

  • 独自の値を入力してください - これは入力した値であり、テンプレートの前のアクションからはアクセスされません。

たとえば、ボリュームでコンプライアンススキャンを有効にするには、 Cloud Data Sense サービスで、ストレージ管理者が入力したボリューム名(入力値)と、 Cloud Manager がボリュームを作成したときに生成する「ボリューム UUID 」(出力値)の両方が必要です。

次の図は、テンプレートのクラウドデータセンスアクションセクションでこの情報を入力する方法を示しています。

前のアクションで入力した値を使用して別のアクションのフィールドに入力する方法を示す図。

条件を使用して、ロジックステートメントに基づいて異なるアクションを実行します

条件は、テンプレートに対して、ストレージ管理者がテンプレートを実行したときに条件が true であるか false であるかに応じて、異なる操作を実行するように指示します。条件を追加するには、 * 論理 IF * アクションを選択します。

テンプレートに条件文を追加する方法のスクリーンショット。

たとえば、ボリュームの容量が 50GB を超える場合、そのボリュームで Cloud Backup を有効にするようにガイドラインを適用できます。ボリュームの容量が小さい場合、 Cloud Backup は有効になりません。これは、次のようにテンプレートに実装できます。

条件付きで Cloud Backup を有効にするためにテンプレートで条件を使用する方法を示すスクリーンショット。

条件は次の 2 つの部分で構成されます

  • ルール - チェックする項目が true または false のいずれかであることを示します。

  • AND / OR ステートメント - 複数のルールを使用して、追加のアクションを追加するかどうかをさらに細かく指定できます。

ルールは、次の 3 つの部分で構成されます。

  • ソースフィールド * - 比較する値を取得する場所。

  • Get input value from action :以前のテンプレートアクションのフィールドにストレージ管理者が入力した実際の値。

  • Get output value from action - 以前のテンプレートアクションからリソースを作成したあとに生成された Cloud Manager の値。

  • 値を入力 - これは入力した値であり、テンプレートの前のアクションからはアクセスされません。既存のボリュームなど、すでに存在するリソースの値を指定できます。

  • 演算子 * - 比較に使用される演算子。オプションは * 等号、 * 等しくない * 、 * より大きい * 、 * より小さい * 、 * より大きい * 、 * より大きいまたは等しい * 、 * より小さいまたは等しい * です。

  • フィールド値 * - 比較する実際の値。オプションは、 _Source フィールド _ のオプションと同じです。

AND / OR ステートメントを使用すると、複数のルールが True と評価されているか False であるかに基づいて、テンプレートを実行するときに条件付きでアクションを追加できます。* および * では、すべてのルールが true または false である必要があり、 * または * では、いずれか 1 つのルールのみが true または false である必要があります。

ルールで AND ステートメントと OR ステートメントの両方を使用する場合、評価プロセスは標準的な数学的順序に従います。例:

  • [ ルール 1 ] または [ ルール 2 ] および [ ルール 3 ]

    このステートメントは、 < ルール 1 > または( < ルール 2 > および < ルール 3 > )の順に評価されます。