デザイナー
フォーム、playbook、インベントリ、ワークフローをブラウザーで編集する
フォーム作成者向け: デザイナーのセクションと、それぞれのタブに表示される内容を説明します。
デザイナーを使うには showDesigner ロールオプション が必要です。デザイナーでは一度に 1 つの項目 (フォーム、playbook、ワークフローファイル) を編集し、左側のメニューにそのセクションが並びます。ファイルの種類ごとにも専用のオプションが必要で、 いずれも既定で有効です: Playbook には allowPlaybookDesign、 ワークフロー には allowWorkflowDesign、 インベントリ には allowInventoryDesign、 変数ファイル には allowVarsFileDesign です。オプションがない場合、そのセクションは 読み取り専用になり、サーバーはそのファイルの保存、作成、削除、プッシュを拒否します。ただし、フォームやワークフローからは引き続き選択できます。 フォーム、 カテゴリ、 定数 にも同じように allowFormDesign が必要です。ない場合は読み取り専用になり、サーバーは 保存、プル、プッシュを拒否します。一度に編集できるのは 1 人だけです。 デザイナーのロック を参照してください。 ロールで他のチームのフォーム、playbook、ワークフローを隠すこともできます。 制限付きのデザイナー利用者 を参照してください。
セクション
各セクションでは 1 種類のファイルを編集します。ファイルはローカル、または リポジトリ に置かれます。
| セクション | 編集する内容 |
|---|---|
| フォーム | フォームファイル |
| カテゴリ | config.yaml のカテゴリ |
| 定数 | config.yaml の定数 |
| 変数ファイル | フォームが読み込む変数ファイル |
| Playbook | フォームとワークフローが実行する playbook |
| インベントリ | インベントリ: inventory.yaml、 group_vars、 host_vars |
| ワークフロー | ワークフロー ファイル |
ファイルを扱うセクションでは、ファイルがファイルエクスプローラーに一覧表示され、最初のファイルが開きます。まだファイルがないセクションにはその旨が表示されます。 フォーム セクションとすべてのファイルセクションでは、ツールバーの先頭に 新しいファイル ボタンがあります。インベントリでは新しい インベントリを、ワークフローでは新しい空のワークフローを作成します。エクスプローラーの虫眼鏡をクリックすると、ファイルを名前で絞り込むボックスが開きます。
タイトル行の検索ボックスでは、開いている YAML 内のテキストを検索し、出現箇所をすべてマークします。デザイナーのロックを取得していれば、 YAML タブで使用できます。
タブ
どのセクションにも同じ 3 つのタブがあり、すべて同じ YAML を扱います。1 つのタブでの編集はほかのタブにも反映され、 保存 で保存されます。
- YAML は、書かれているとおりのファイルです。
- ビジュアル は、フィールドを使ってファイルを編集します。変更されるのは編集したキーだけなので、コメントやその他の部分は書かれたまま残ります。
- プレビュー は、ファイルの動作を表示するだけで、何も編集しません。
ビジュアルタブとプレビュータブに表示される内容は、セクションごとに次のとおりです。
| セクション | ビジュアル | プレビュー |
|---|---|---|
| フォーム | フォームの設定とフィールド。デザイナーの playbook、インベントリ、ワークフローの一覧付き | 未保存の編集を含む現在のフォーム。送信しても何も実行されません |
| カテゴリ | カテゴリを表として編集 | カテゴリから作られるフォームページのメニュー |
| 定数 | 定数をアウトラインとして編集 (キーは矢印キーで移動) | 各定数と、コピー用のその参照 $(NAME)、それを使うフォーム |
| 変数ファイル | 変数を編集 | 各変数と、コピー用の playbook での参照 {{ name }}、そのファイルを読み込むフォーム |
| Playbook | プレイ: 各プレイの名前、ホスト、 Become、 facts を収集、ロール、およびタスク (それぞれモジュールと引数付き) | playbook のアウトライン: プレイとそのホスト、ロール、タスク、インポートする playbook |
| インベントリ | グループ、子グループ、ホスト、それぞれが設定する変数 | group_vars と host_vars を含む、ツリー表示のインベントリ |
| ワークフロー | 編集 するためのワークフローのグラフ | ドライラン: ノードをクリックすると失敗させられます |
YAML を読み取れない場合、ビジュアルタブとプレビュータブにはその理由が表示され、 YAML で表示 でその行の YAML を開けます。
制限付きのデザイナー利用者
7.5.0 から、3 つのロールオプションでデザイナーが表示するフォーム、playbook、ワークフローを制限でき、各チームが自分のものだけを設計できます。 3 つとも既定でオンで、管理者には常にオンです:
| オプション | オフのとき、デザイナーが表示するもの |
|---|---|
designAllForms ( すべてのフォームを編集 ) | roles にユーザーのロールのいずれかを含むフォームと、非表示のフォームが使っていないサブフォームだけ |
designAllPlaybooks ( すべての playbook を編集 ) | ユーザーのフォームが実行する playbook と、まだどのフォームも使っていないものだけ |
designAllWorkflows ( すべてのワークフローを編集 ) | ユーザーのフォームが実行するワークフローファイル (入れ子のものを含む) と、まだどのフォームも使っていないものだけ |
フォームは playbook、ansible ステップ、実行するワークフローを通じて playbook を実行します。制限されたデザイナー利用者には次のことができません:
- 非表示のファイルを見ること。 一覧に出ることも名前が示されることもありません。開こうとすると存在しないファイルとして応答し、 同じ名前で新しいファイルを作ろうとすると既にあるファイルとして応答します。
- それを参照すること。 非表示のフォームをサブフォームとして指定したフォームはその内容を何も表示せず、非表示の playbook や ワークフローを指定したフォームやワークフローファイルは拒否されます。
- 共有のサブフォームを変更すること。 非表示のフォームも使っているサブフォームは読み取り専用になり、保存するフォームは ユーザーのロールのいずれかを保持する必要があります。
- ファイル内の非表示のフォームに触れること。 複数のフォームを含むファイルは、保存時に非表示のフォームをそのまま残し、 フォームのバックアップの復元は拒否されます。
- サーバーが実行するコードを追加すること。 保存するフォームに、サーバーが実行する式やクエリを新たに加えることはできず、 まだ保存していないフォームのプレビューは独自の式を実行しません。
- git の出力でファイル名を読むこと。 pull や push の出力からは、ファイル名を示す行が省かれます。
表示されたファイルを変更できるかどうかは、引き続き allowFormDesign、 allowPlaybookDesign、 allowWorkflowDesign で決まります。 インベントリ、変数ファイル、カテゴリ、定数はすべてのデザイナー利用者に表示されたままです。設定の一部だけを持つユーザーには、 設定ページの フォーム タブと、資格情報の 使用元 タブに、自分のフォームとワークフローファイルだけが表示されます。