93: def associate_machines
94:
95: li "Assigning static IP addresses for:"
96: li @mlist.collect { |m| m.name }
97:
98: execute_check(:medium)
99:
100: @mlist.each do |m|
101: next if @mlist_static.member?(m)
102: address = @alist_unused.shift
103: address ||= Rudy::AWS::EC2::Addresses.create.ipaddress
104: li "Associating #{address} to #{m.name} (#{m.instid})"
105: Rudy::AWS::EC2::Addresses.associate(address, m.instid)
106: sleep 2
107: m.refresh!
108: end
109:
110: @alist = Rudy::AWS::EC2::Addresses.list || []
111: @alist_used = @alist.select { |a| a.associated? }
112: @alist_instids = @alist_used.collect { |a| a.instid }
113: @mlist_static = @mlist.select do |m|
114: @alist_instids.member?(m.instid)
115: end
116:
117: unless @mlist_static.empty?
118: @mlist_static.each do |m|
119: li "%s: %s" % [m.name, m.dns_public]
120: end
121: end
122: end