私はこのようなYAMLファイルがあります:私はci
がimage
除き、local
からすべての値を継承させたいyaml configから継承プロパティを削除するには?
local: &local
image: xxx
# *tons of config*
ci:
<<: *local
image: # delete
build: .
を。
この値を「削除」する方法はありますか?
私はこのようなYAMLファイルがあります:私はci
がimage
除き、local
からすべての値を継承させたいyaml configから継承プロパティを削除するには?
local: &local
image: xxx
# *tons of config*
ci:
<<: *local
image: # delete
build: .
を。
この値を「削除」する方法はありますか?
いいえkey
にYAMLファイルの削除をマークする方法はありません。あなたはoverwrite existing valuesしかできません。
image: null # delete
あなたが行うことができる2つのものがあります:ポストプロセスまたはメイク
、後者
は、あなたが何をすべきか、あなたが書かれていたかのように、あなたがキーimage
に値として空のスカラーを関連付けるですあなたのYAMLファイルのベースマッピング。
後処理を行う場合は、特別な一意の値をimage
または特別にタグ付けされたオブジェクトに関連付けます。この特殊な値を持つキーと値のペアを削除するために、ツリーを再帰的に読み込みます。の解析中に既にを実行できるかどうかにかかわらず、フックを使用するか、そのメソッドの一部を上書きするかどうかは、パーサーによって異なります。ベースのマッピングを使用して
が少なく作業が必要ですが、YAMLファイルにより侵入です:
localbase: &lb
# *tons of config*
local: &local
image: xxx
ci:
<<: *lb
build: .
あなたがかつての操作を行う場合は、あなたが「マージ・階層を」保存するパーサを使用する場合に注意すべきです(私のruamel.yaml
パーザができるような)ラウンドトリップでは、キーと値のペアを削除するだけでは十分ではありません。その場合は、オリジナルがlocal
から復帰します。読み込み時にこれを単に解決する他のパーサには、この問題はありません。