有効にする
インスタンス全体、または 1 つのフォームに対して
起動時の検証には 2 つの設定があります。 2 つのうち、より厳しい方が適用されます。
インスタンス全体: LAUNCH_VALIDATION
環境変数 LAUNCH_VALIDATION は、すべてのフォームに適用されます。
off: サーバー側でのチェックは行われません。ジョブは、ブラウザーまたは呼び出し元が送信した extravars で実行されます。log: すべての起動がチェックされます。拒否されるはずのものは警告としてログに 書き込まれますが、起動はこれまでどおり実行されます。enforce(既定): 無効な起動は拒否され、有効な起動はサーバーが作成した extravars で 実行されます。
空の値や不明な値も enforce とみなされます。変更は再起動なしで反映されます。
アップグレードで動作が変わります。
LAUNCH_VALIDATIONを設定していないインスタンスでは、アップグレード後、 すべての起動が強制的に検証されます。rawFormDataなしで、またはフォームのルールに反する値でPOST /api/v2/jobを呼び出すスクリプトは、422で拒否されます。何が拒否されるかを確認するには、アップグレード前にLAUNCH_VALIDATION=logを設定してください。以前の動作を維持するにはoffを設定します ( 展開する を参照)。
1 つのフォーム: launchValidation
フォームは独自のレベルを設定できます。
- name: Create VM
type: ansible
roles:
- default
playbook: vm.yml
launchValidation: enforce # off | log | enforce
fields:
- name: vm_name
type: text
required: true
この設定は、 off または log で運用しているインスタンスで、REST で起動されることがわかっているフォームに使います。 そのフォームは強制的に検証され、インスタンスのそれ以外の部分はそうなりません。デザイナーのフォーム設定でも 設定できます。
フォームはインスタンスより厳しくできますが、緩くはできません。 LAUNCH_VALIDATION が enforce の場合、フォームの launchValidation: off は効果がありません。フォームが運用者の判断を 上書きすることはできません。
ウィザードフォームもこの設定を使います。ウィザードの起動はステップごとにチェックされ、各ステップはそれ自身の サブフォームに照らしてチェックされます ( ウィザードフォーム を参照)。