答えて
これはまったく有効ではありませんが、これをYAMLとして編集する場合は、 を有効なYAMLにする必要があります。エラーが発生した場合は、 の代わりに、YAML 編集モードの利点がありません。
saltstateあなたは、<{
(または<<{
に変更{{
をあなたはblock_start_string
と variable_start_string
Jinja2のは、あなたが(自然に自分のソースで発生#%
と###%
場合や ###%
)#%
に{%
を変更することができます使用して変更することができ、また、 場合アイデアを得る)。あなたが直接あなたがして、その後FireSystemLoader
に渡す Jinja2のを呼び出したい場合: block_start_string='<{'
とvariable_start_string='#%'
上記 が可能である場合、あなたは一度だけ入力ファイルを変更する必要があり、 はエディタでそれを行います。
あなたはまともなことを行うためにsaltstateを制御することができない場合、あなたはまだ は立ち往生していないが、あなたは、Python、 ruamel.yaml
といくつかの サポートパッケージ(免責事項:私はそれらのパッケージの作者だ)を使用して、もう少しをしなければなりません。
from ruamel.yaml import YAML
from ruamel.std.pathlib import Path
yamlj2 = YAML(typ='jinja2')
yamlrt = YAML()
yaml_flow_style = YAML()
yaml_flow_style.default_flow_style = True
in_file = Path('init.sls')
backup_file = Path('init.sls.org')
in_file.copy(backup_file)
data = yamlj2.load(in_file)
with in_file.open('w') as fp:
# write the header with info needed for revers
fp.write('# ruamel.yaml.jinja2: ') # no EOL
yaml_flow_style.dump(yamlj2._plug_in_jinja2, fp)
yamlrt.dump(data, fp)
問題のJinja2のシーケンスを変更し、ファイルに使用される実際のパターンで1行のヘッダコメントを追加するには:編集プログラムを実行する前に、次に
pip install ruamel.yaml[jinja2] ruamel.std.pathlib
: はしてインストールします。 ファイルを編集して、init.sls
ファイルを編集することはできません。
saltstateを呼び出す前に、次のことを実行します:
from ruamel.yaml import YAML
from ruamel.std.pathlib import Path
in_file = Path('init.sls')
yamlj2 = YAML(typ='jinja2')
yamlrt = YAML()
yamlnort = YAML(typ='safe')
with in_file.open() as fp:
yamlj2._plug_in_jinja2 = yamlnort.load(fp.readline().split(':', 1)[1])
data = yamlrt.load(fp)
yamlj2.dump(data, in_file)
あなたはこれらのファイルの複数を持っている場合、あなたはおそらくsys.argvのからあなた ファイル名を取りたい[1]。この2番目のPythonプログラム(すなわち、デコードと実行)から実際にsalstateプログラムを呼び出すことができます。
私は無知であることを私に許して、私はVSCには新しいです。私はPythonを理解していますが、これがVSCでどのように動作するのか分かりません。 –
@MoAliこれは動作しません** ** VSC内では、ファイルをYAMLに修正します.VSCで開くと、投稿された画像が示す問題は表示されません。唯一の "問題"は、塩分が塩酸塩を開始する前に変更を受け入れるか、戻すかを確認する必要があることです。あなたはサルステートを使用していると確信しています[salststack](https://en.wikipedia.org/wiki/Salt_(ソフトウェア)) – Anthon
清潔さありがとう。私はソルトスタックを使用しています。 saltの.slsファイルはsaltstateと呼ばれ、したがってsaltstateと呼ばれます。 –
- 1. PHPの方法は、Webサーバーの一時的なパスを見つけるには?
- 2. どのように再帰的に一連の文字列の一般的なルートを見つけるには?
- 3. ループの一時的なデータフレーム内の値のインデックスを見つける方法R
- 4. 一時的でないコピーコンストラクタを一時的に許可する方法
- 5. NHibernate - 一時的にIDをオフにする
- 6. IDを一時的にオフにする - Entity Framework 4.1コード先頭
- 7. 実行中のウェブサイトを一時的にオフにし、「このサイトは一時的に利用できません」というメッセージを表示します
- 8. 再帰アルゴリズムの空間複雑性を見つける一般的な方法は何ですか?時間の複雑さを見つけるために
- 9. 一時的に静的ページをオフにするにはどうすればよいですか?
- 10. CFWheels:validatesPresenceOf()を一時的にオフにします
- 11. どのように一時的に保管するための一時ストアにどのようにテキストボックスの値をjQueryの
- 12. 遅延ジョブのインポートのためにherokuにファイルを一時的に保存する方法
- 13. Revit Viewで一時的に非表示の要素を見つける
- 14. ストアフォームフィールドデータ一時的に
- 15. Linuxシェルで日時を一時的に調整する方法
- 16. Rack-Mini-Profilerを一時的に無効にする方法は?
- 17. jQueryでクリックハンドラを一時的に無効にする方法は?
- 18. 一時的なユーザーデータを効率的に保存する方法
- 19. 一時的なASP.NETファイルのサイズを制御する方法は?
- 20. Pythonのurllib2の - 接続が一時的にそう
- 21. flex 4一時的に実行を一時的に中止する
- 22. jquery.mousewheelのバインドを一時的に解除する方法
- 23. mysqlのデータベースを一時的にロックする方法
- 24. オフライン文書のWebサーバーを一時的にホストする方法
- 25. 一時的にscene2d内のアクターを削除する方法
- 26. IntelliJ Idea:ファイルの種類を一時的に変更する方法は?
- 27. iPhoneの画面を埋めるためにビューを一時的に展開する最善の方法
- 28. `はRuntimeError:リソースdask.array.map_blocksのため一時的にunavailable`()
- 29. は、一時的に別の要求
- 30. Javascript Opera - 文書本体のスクロールを一時的にオフにします
なぜVSCはこれがYAMLの構文チェックを適用すべきだと思っているのでしょうか?コンテンツやファイル拡張子( '.sls')に基づいたYAMLファイルではありません。 – Anthon
YAML構文ではありませんが、 saltstateの構文(yaml + jinja)はまだサポートされておらず、利用可能なプラグインは利用できないので、thingはYAMLです。この.sls拡張子がyamlとして読み込まれる理由は、私のfilename_associationが設定されているためです。 –