ฉันมีงานง่าย ๆ ที่ฉันไม่สามารถเอาชนะได้
ฉันมี playbook ที่ส่งคืนการกำหนดค่าอินสแตนซ์ AWS EC2 ฉันต้องพิมพ์เท่านั้น (แสดงผล) ส่วนตัว_ip_ที่อยู่.
นี่คือเพลย์บุ๊กของฉัน
---
- โฮสต์: ท้องถิ่น
การเชื่อมต่อ: ท้องถิ่น
Gather_facts: เท็จ
กลายเป็น: ใช่
makes_method: เปิดใช้งาน
งาน:
- ชื่อ: Gather-info-ec2
community.aws.ec2_instance_info:
instance_ids:
- ฉัน XXXXXXAAAAAA
ลงทะเบียน: ec2
- แก้ปัญหา: msg="{{ ec2.instances.network_interfaces.private_ip_address }}"
เมื่อฉันเรียกใช้เช่นนี้ ฉันได้รับข้อผิดพลาดดังต่อไปนี้
ร้ายแรง: [localhost]: ล้มเหลว! => {"msg": "งานมีตัวเลือกที่มีตัวแปรที่ไม่ได้กำหนด ข้อผิดพลาดคือ: 'list object' has no attribute 'network_interfaces'\n\nข้อผิดพลาดดูเหมือนจะอยู่ใน '/etc/ansible/playbooks/AWSLinuxMigration /gather_ec2_info.yaml': บรรทัดที่ 16 คอลัมน์ 5 แต่อาจ\nอยู่ที่อื่นในไฟล์ ขึ้นอยู่กับปัญหาทางไวยากรณ์ที่แน่นอน\n\nบรรทัดที่ละเมิดดูเหมือนจะเป็น:\n\n\n - ดีบัก: msg=\" {{ ec2.instances.network_interfaces.private_ip_address }}\"\n ^ ที่นี่\nเราอาจผิด แต่สิ่งนี้ดูเหมือนว่าอาจมีปัญหากับ\nเครื่องหมายคำพูดขาดหายไป อ้างอิงเครื่องหมายวงเล็บนิพจน์เทมเพลตทุกครั้งเมื่อ\nเริ่มค่า ตัวอย่างเช่น:\n\n with_items:\n - {{ foo }}\n\nควรเขียนเป็น:\n\n with_items:\n - \"{{ foo }}\"\n"}
เมื่อฉันดำเนินการโดยไม่มีส่วน DEBUG และด้วย -vvv มันแสดงผลด้านล่าง ฉันจะแยกและพิมพ์ที่อยู่นี้ได้อย่างไร ฉันย่อให้สั้นลงเล็กน้อย แต่คุณได้รับแนวคิด
ตกลง: [localhost] => {
"ข้อความ": {
"เปลี่ยนแปลง": เท็จ
"ล้มเหลว": เท็จ
"ตัวอย่าง": [
{
"ami_launch_index": 0,
"สถาปัตยกรรม": "x86_64",
"block_device_mappings": [
{
"device_name": "/dev/xvda",
"ebs": {
"attach_time": "2020-04-15T16:11:19+00:00",
"delete_on_termination": จริง
"สถานะ": "แนบ",
"volume_id": "xxxxxx"
}
}
]
"ความจุ_reservation_species": {
"ความจุ_reservation_preference": "เปิด"
},
"client_token": "",
"cpu_options": {
"core_count": 1,
"threads_per_core": 2
},
"ebs_optimized": จริง
"ena_support": จริง
"วงล้อม_ตัวเลือก": {
"เปิดใช้งาน": เท็จ
},
"hibernation_options": {
"กำหนดค่า": เท็จ
},
"ไฮเปอร์ไวเซอร์": "xen",
"iam_instance_profile": {
"arn": "xxxxxx",
"รหัส": "xxxxxx"
},
"image_id": "xxxxx",
"instance_id": "xxxxx",
"instance_type": "t3.medium",
"key_name": "xxxxx",
"launch_time": "2021-04-21T00:01:25+00:00",
"metadata_options": {
"http_endpoint": "เปิดใช้งาน",
"http_put_response_hop_limit": 1,
"http_tokens": "ทางเลือก",
"สถานะ": "นำไปใช้"
},
"การตรวจสอบ": {
"สถานะ": "ปิดการใช้งาน"
},
"network_interfaces": [
{
"สมาคม": {
"ip_owner_id": "xxxx",
"public_dns_name": "xxxxx",
"public_ip": "xxxx"
},
"ไฟล์แนบ": {
"attach_time": "2020-04-15T16:11:18+00:00",
"ไฟล์แนบ_id": "xxxxx",
"delete_on_termination": จริง
"device_index": 0,
"network_card_index": 0,
"สถานะ": "แนบ"
},
"description": "อินเทอร์เฟซเครือข่ายหลัก",
"กลุ่ม": [
{
"group_id": "xxxxx",
"group_name": "xxxxx"
}
]
"interface_type": "อินเทอร์เฟซ",
"ipv6_addresses": [],
"mac_address": "xxxxx",
"network_interface_id": "xxxx",
"owner_id": "xxxxx",
"private_dns_name": "ip-10-0-1-161.ec2.internal",
"private_ip_address": "10.0.1.161",
"private_ip_addresses": [
{
"สมาคม": {
"ip_owner_id": "xxxxx",
"public_dns_name": "xxxx.compute-1.amazonaws.com",
"public_ip": "2.2.2.2"
},
"หลัก": จริง
"private_dns_name": "ip-333333.ec2.internal",
"private_ip_address": "1.1.1.1."
}
]
"source_dest_check": จริง
"สถานะ": "ใช้งานอยู่"
}
]
]
}
}