Score:1

ansible - รับรายชื่อโฮสต์ทั้งหมดและค่า ansible_host ที่สอดคล้องกันจากสินค้าคงคลัง

ธง us

สินค้าคงคลังของฉันมีลักษณะดังนี้:

db0 ansible_host=10.0.0.1
db1 ansible_host=10.0.0.2
app0 ansible_host=10.0.0.3
app1 ansible_host=10.0.0.4
...

จากนี้ฉันต้องแยกรายการดังนี้:

- ชื่อ: db0
  ไอพี: 10.0.0.1
- ชื่อ: db1
  ไอพี: 10.0.0.2
- ชื่อ: app0
  ไอพี: 10.0.0.3
- ชื่อ: แอป1
  ไอพี: 10.0.0.4

ฉันรู้ว่าฉันสามารถใช้โฮสต์ทั้งหมดได้ กลุ่ม['ทั้งหมด'].

ฉันยังสามารถได้รับ ansible_host มูลค่าสำหรับแต่ละโฮสต์ที่ใช้ hostvars['<ชื่อโฮสต์>']['ansible_host'].

ฉันจะรวมสิ่งนี้เพื่อสร้างรายการที่ฉันต้องการได้อย่างไร

Score:1
ธง br

ตัวอย่างเช่น

host_ip: "{{ dict(ansible_play_hosts_all|
                  zip(ansible_play_hosts_all|
                      แผนที่ ('แยก', hostvars, 'ansible_host'))) }}"

สร้างพจนานุกรม

  host_ip:
    แอป0:10.0.0.3
    แอป 1: 10.0.0.4
    db0: 10.0.0.1
    db1: 10.0.0.2

จากนั้นใช้ dict2items เพื่อสร้างรายการ

host_ip_list: "{{ host_ip|dict2items(key_name='name',
                                     value_name='ip') }}"

ให้โครงสร้างที่คาดหวัง

  host_ip_list:
  - ไอพี: 10.0.0.1
    ชื่อ: db0
  - ไอพี: 10.0.0.2
    ชื่อ: db1
  - ไอพี: 10.0.0.3
    ชื่อ: app0
  - ไอพี: 10.0.0.4
    ชื่อ: แอป1
us flag
แม้ว่านี่จะดี แต่ก็ไม่ใช่รูปแบบที่ฉันต้องการจริงๆ
br flag
ใช้ *dict2items* เพื่อสร้างรายการ ฉันเพิ่มตัวอย่าง
us flag
เยี่ยมมากใช้งานได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา