2015-11-20 5 views
5

मैं उन सभी लोचदार आईपी प्राप्त करने की कोशिश कर रहा हूं जिन्हें वर्तमान में उदाहरणों के लिए असाइन नहीं किया गया है।मैं सभी लोचदार आईपी का चयन कैसे कर सकता हूं जो ईसी 2 आवृत्ति को आवंटित नहीं हैं?

यह इस का उपयोग कर लचीला आने वाले सभी IP पाने के लिए आसान है: aws ec2 describe-addresses

यहाँ से, यह है कि एक "AssociationId" की जरूरत नहीं है किसी भी परिणाम को फ़िल्टर करने के लिए आसान हो जाएगा। हालांकि, मुझे यकीन नहीं है कि --query का उपयोग करके ऐसा कैसे करें।

मुझे पता है कि --query विकल्प परिणामों को फ़िल्टर करने JMESPath का उपयोग करता है, लेकिन मैं पता नहीं कैसे यह बताने के लिए मुझे उस एक AssociationId की जरूरत नहीं है सभी परिणाम वापस लौटाना होगा। कोई मदद?

धन्यवाद।

उत्तर

9

आप शून्य मान के लिए पतों संग्रह जाँच कर सकते हैं, लेकिन इसके बजाय का AssociationId एक बेहतर सामान्य समाधान का उपयोग करने के बेहतर हो सकता है InstanceId:

InstanceID -> (स्ट्रिंग)

उदाहरण के आईडी कि पता (यदि कोई है) से जुड़ा हुआ है।

AssociationId -> (स्ट्रिंग)

आईडी एक VPC में एक उदाहरण के साथ पते के सहयोग का प्रतिनिधित्व।

लचीला आईपी है कि एक VPC में नहीं हैं AssociationId संपत्ति नहीं है, लेकिन दोनों VPC में लोचदार आईपी और EC2 क्लासिक उत्पादन InstanceId होगा।

यदि आप केवल वीपीसी में आईपी की परवाह करते हैं तो आप वैकल्पिक रूप से AssociationId का उपयोग कर सकते हैं।

उदाहरण:

aws ec2 describe-addresses --query 'Addresses[?InstanceId==null]' 

aws ec2 describe-addresses --query 'Addresses[?AssociationId==null]' 

अतिरिक्त पठन:

+1

ध्यान दें कि कुछ स्थितियों में, Unassociate डी ईआईपी InstanceId == शून्य और कभी-कभी InstanceId == "" उत्पन्न करेगा। मान लें कि भेद वीपीसी ईआईपी (शो नल) बनाम ईसी 2-क्लासिक ईआईपी (शो "") है। – jarmod

+0

टिप्पणी के लिए धन्यवाद। मैंने अतिरिक्त रूप से ईसी 2-क्लासिक ईआईपी को परिणाम सेट ('"इंस्टेंस आईडी": नल') में स्पष्ट रूप से शून्य दिखाया है, और वीपीसी ईआईपीएस में बस' इंस्टेंस आईडी 'शामिल नहीं है, अगर यह सेट नहीं है। कम से कम उस स्थिति के लिए, केवल मेरे कंसोल से दोनों मामलों को शून्य वापसी की जांच कर रहा है। –

+0

इसकी सराहना करें - यह जाने का एक अच्छा तरीका प्रतीत होता है। मुझे पता नहीं था कि मैं गैर-मौजूदा पैरामीटर पर शून्य की जांच कर सकता हूं। धन्यवाद! – joshft91

संबंधित मुद्दे