2012-05-16 11 views
7

मैंने हाल ही में एक सिनात्रा वेब एप्लिकेशन में aws मणि का उपयोग करना शुरू कर दिया है जिसका उद्देश्य उदाहरण प्रबंधन (गैर-एडब्ल्यूएस उपकरणों को एकीकृत करना) के लिए एक अनुकूलित फ्रंटेंड प्रदान करना है। मैं वर्तमान में फॉर्म पर काम कर रहा हूं ताकि उपयोगकर्ता को उन सभी विकल्पों को सेट करने की अनुमति मिल सके जिन्हें सेटिंग की आवश्यकता हो सकती है, और उनमें से एक विकल्प उदाहरण प्रकार (m1.small, c1.medium, आदि) है।रूबी एडब्ल्यूएस - प्रोग्रामिंग रूप से उपलब्ध एडब्ल्यूएस इंस्टेंस प्रकारों की सूची उत्पन्न करें

जो मैं चाहता हूं वह उपलब्ध स्रोतों की सूची खींचने के लिए कुछ स्रोत तक पहुंचने में सक्षम होना है। मैंने एडब्ल्यूएस :: ईसी 2 दस्तावेज को देखा है और इस विवरण से मेल खाने वाली कुछ भी नहीं मिली है। मुझे यह आग्रह करने की कोई आवश्यकता नहीं है कि समाधान aws मणि का हिस्सा हो, लेकिन यह भी बेहतर है, क्योंकि यह वह टूल है जिसका मैं पहले से उपयोग कर रहा हूं।

क्या आप इस जानकारी को प्रोग्रामेटिक रूप से इकट्ठा करने के तरीके के बारे में जानते हैं?

उत्तर

6

जहां तक ​​मैं यह कह सकता हूं यह संभव नहीं है। यदि यह संभव था, तो अमेज़ॅन their documentation में एपीआई कॉल सूचीबद्ध करेगा।

मुझे थोड़ा अजीब लगता है कि आप कुछ और सूची सूचीबद्ध करने के लिए एपिस प्राप्त कर चुके हैं।

आप शायद इसे DescribeReservedInstancesOfferings कॉल के माध्यम से देख सकते हैं, जिसमें आप खरीद सकते हैं सभी प्रकार के आरक्षित उदाहरण सूचीबद्ध करते हैं - मैंने सोचा होगा कि अद्वितीय उदाहरण-प्रकारों को निकालने से यह उचित अनुमान होगा (जहां तक ​​मुझे पता है ऐसे कोई उदाहरण प्रकार नहीं हैं जिनके लिए आप आरक्षित उदाहरण नहीं प्राप्त कर सकते हैं)। aws मणि की तरह दिखता नहीं है हालांकि यह समर्थन करता है। official amazon sdk करता है, fog

+0

मैं लगा इस मामले की जाएगी। मुझे लगता है कि मैं सिर्फ किसी से पुष्टि चाहता था। मैं शायद अपने आवेदन के लिए एक सूची को कड़ी मेहनत कर दूंगा, क्योंकि संभवत: एक निश्चित संख्या है जिसके उपयोगकर्ताओं को वास्तव में आवश्यकता होगी। – asfallows

2

करता है के रूप में यहाँ तथ्य यह है कि अमेज़न के अभी भी उदाहरण प्रकार की गणना करने में एक API जारी नहीं करने के लिए कुछ हद तक एक kludgy काम के आसपास है:

instance_types = Set.new() 
response = {:next_token => ''} 
loop do 
    response = ec2.client.describe_spot_price_history(
     :start_time => (Time.now() - 86400).iso8601, 
     :end_time => Time.now().iso8601, 
     :product_descriptions => ['Linux/UNIX'], 
     :availability_zone => 'us-east-1c', 
     :next_token => response[:next_token] 
    ) 

    response[:spot_price_history_set].each do |history_set| 
     instance_types.add(history_set[:instance_type]) 
    end 

    if(response[:next_token].nil?) 
     break 
    end 
end 
संबंधित मुद्दे