พยายามเพิ่มเงื่อนไขด้วยสัญลักษณ์แทนและตัวแปร Ansible และได้รับข้อความแสดงข้อผิดพลาด แนวคิดคือการทริกเกอร์คำขอ API ด้วยชื่อคอนเทนเนอร์ที่ขึ้นต้นด้วย "android-" ซึ่งเป็นการติดตามเพลย์บุ๊กการสร้างคอนเทนเนอร์นักเทียบท่า
คู่มือการเล่นของฉัน:
---
- ชื่อ: ย้ายตัวแทน android
โฮสต์: server1; เซิร์ฟเวอร์2
วาร์:
ตู้คอนเทนเนอร์: "{{ ตู้คอนเทนเนอร์ }}" #variable ในไฟล์อื่น
งาน:
- ชื่อ: ย้ายตัวแทน Android
คำสั่ง: curl "คำขอ API ไปยังเซิร์ฟเวอร์"
เมื่อ: "containers.startswith('android-*')"
ข้อผิดพลาด:
งาน [ย้ายตัวแทน Android] *********************************************** **********
ร้ายแรง: [เซิร์ฟเวอร์ 1]: ล้มเหลว! => {"msg": "การตรวจสอบเงื่อนไข 'containers.startswith('android-*')' ล้มเหลว ข้อผิดพลาดคือ: ข้อผิดพลาดขณะประเมินเงื่อนไข (containers.startswith('android-*')): 'list object' ไม่มีแอตทริบิวต์ 'startswith'\n\nข้อผิดพลาดดูเหมือนจะอยู่ใน '/directory/were/the/playbook/is/move-agent-android.yml': บรรทัดที่ 13 คอลัมน์ 7 แต่อาจ\nอยู่ที่อื่นในไฟล์ ขึ้นอยู่กับปัญหาทางไวยากรณ์\n\nบรรทัดที่ไม่เหมาะสมจะเป็น:\n\n\n - ชื่อ: ตัวแทนการย้าย Android\n ^ ที่นี่\n"}
ฉันพยายามเปลี่ยนเงื่อนไขเป็นเวอร์ชันต่างๆ และได้รับข้อผิดพลาดเดียวกันทั้งหมด
รุ่นอื่นๆ:
เมื่อ: "คอนเทนเนอร์ตรงกัน ('android-*')"
เมื่อ: item.name.startswith('android-*')
เมื่อ: "{{ คอนเทนเนอร์ }}" ตรงกัน ('android-*')
ความคิดใดที่จะแก้ไขข้อผิดพลาด?