YAML / anchor / alias / merge

YAMLのanchor・alias・mergeを分ける

再利用元と展開後を分け、mergeの優先順位、未対応構文、循環参照を確認します。ユーザー入力は解析せず、合成caseだけを使います。

5つの確認軸

YAMLの省略記法は、再利用元・参照・merge後の値を分けて見ると設定移行の手戻りを減らせます。

anchor → alias → merge precedence → expanded result
レビュー
anchor再利用元の定義とscopeを記録する。
alias参照先がどのanchorかを分けて確認する。
merge複数mapの優先順位と上書きを明示する。
unsupported処理系が未対応の構文を成功扱いしない。
cycle循環参照を展開済みと断定しない。

安全な確認の順番

  1. anchorの再利用元を記録する。
  2. aliasの参照先を照合する。
  3. mergeの優先順位と展開後を確認する。
  4. 未対応・循環を差し戻してから実設定へ戻る。

このページはユーザー入力や実データを解析しません。実設定の変更は確認票を承認してから既存の運用で行います。

6つの合成case

case結果
anchor-basicAnchor definition
alias-reuseAlias reuse
merge-overrideMerge precedence
unsupported-yamlUnsupported
circular-aliasCircular reference
nested-scopeNested scope