2016-04-04 1 views
6

私はYAMLには新人です。私は何者かがキーとなり、どちらがリストなのか混乱しています。例えば以下のプレイブックでは、 " - "はリスト項目を表しているようです。YAML構文のリストやキーに混乱が起きる可能性のある遊び方

--- 
- hosts: all 
    gather_facts: no 
    sudo: yes 
    tasks: 
    - name: Ensure NTP is installed. 
    yum: name=ntp state=present 
    - name: ensure ntp is running 
    service: name=ntpd state=started enabled=yes 

のでhostは、リストのキーとallであるが、その値が、リストの辞書は- hostsとしてキーでもgather_facts: nosudo: yestask: ...のですか?

yamllint.comに上記の脚本を実行しているとき、私は次のような出力が得られます。

--- 
- 
    gather_facts: false 
    hosts: all 
    sudo: true 
    tasks: 
    - 
     name: "Ensure NTP is installed." 
     yum: "name=ntp state=present" 
    - 
     name: "ensure ntp is running" 
     service: "name=ntpd state=started enabled=yes" 

答えて

3

-は、リスト項目を表します。プレイブックのトップレベルでは、リストアイテムは「プレイ」を表します。

各演奏は、値を持ついくつかのパラメータ/キーを持つ辞書で表されます(これらの値の一部はリストまたは辞書でもあります)。

hostsgather_factstasksはすべて、最初の唯一の、プレイブックで再生します。したがって、同じレベルにインデントされる必要があります。

また、タスクの値は辞書で表されるtaskのリストです。

yamllint.comによって生成された自動的に固定されたYAMLについては、私が奇妙に見えるが、技術的にはそれが正しく解析されるかどうかは分かりません。私はまだあなたの非固定YAMLに固執しますが、そのフォーマットは特に奇妙に見えます。

+0

"hosts:、gather_facts:、sudo:and tasks:"はリスト(キー)項目です(リストのキー項目がアイテムの前に " - "例えば " - " gather_facts:no 、 - sudo:yes ")。サブタスクが のキー "tasks:"と同様に、「NTPがインストールされていることを確認してください。 yum: "name = ntp state = present" - 一部のキー値の前に " - "を付けないでください。 –

関連する問題