1

ec2_instance_facts Ansible モジュールを実行し、それをec2という変数に登録します。

キー名にコロン文字を含む ec2 インスタンスにタグがあります。

これを使用して、環境タグの値を取得できます。

 set_fact:
    number_of_nodes: "{{ ec2.instances|json_query('[*].tags.environment') }}"

ただし、 「aws:lc:sg」の値を取得できません。次のことを試してください。

 set_fact:
    number_of_nodes: "{{ ec2.instances|json_query('[*].tags.aws:lc:sg') }}"

コロンの前に\、\、/、//文字を入れて試してみました。うまくいきません。

誰かが助けることができますか?:(

4

1 に答える 1

3

ansible docsをエスケープ? : -したい場合は、それらを二重引用符で囲むことをお勧めします"。(docs hereあなたのケースでは、json_query フィルターで一重引用符を使用する必要があるため、かなり困難です。そのフィルターの引数を var に置き換えてみてください。後でその var を宣言するときに、二重引用符を使用できます。

 set_fact:
    number_of_nodes: "{{ ec2.instances|json_query(the_var) }}"
 vars:
    the_var: "[*].tags.aws:lc:sg"

これが役立つことを願っています!乾杯!

于 2019-03-15T08:25:53.833 に答える