मुझे जो निकटतम मिला है वह निम्नलिखित कमांड का उपयोग कर रहा है।
यह आदेश सभी उदाहरणों की सूची को प्रबंधित करता है।
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
यह आदेश सभी निजी आईपी पते, उदाहरण आईडी और उन सभी टैगों को सूचीबद्ध करने का प्रबंधन करता है जिनकी मुझे आवश्यकता नहीं है। मुझे सिर्फ नाम की जरूरत है।
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
मुझे यकीन नहीं है कि मैं इस तरह से कमांड निष्पादित नहीं कर सकता:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
यह कमांड काम करती है लेकिन इसके सभी टैग कुंजी नाम दिखाते हैं।
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
कुंजी नाम मान आउटपुट के लिए एक फिल्टर के रूप में "टैग [? कुंजी == ] .Value []" का उपयोग करना aws-cli v1.3.0 के बाद ही संभव है। और मैं अपने इच्छित आउटपुट को पाने के लिए --filter और jq के संयोजन का उपयोग कर रहा हूं। निकटतम कमांड aws ec2 वर्णन-इंस्टेंस है --filters नाम = vpc-id, मान = vpc-e2f17e8b | jq '.Reserves [] | इंस्टेंस [] | {PrivateIpAddress, InstanceId, Tags} 'मुझे सिर्फ यह जानना होगा कि टैग कुंजी = नाम का उपयोग jq के संदर्भ में कैसे किया जाए।