class Chef::Knife::SceAddressOfferings

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/sce_address_offerings.rb, line 33
def run
  
  $stdout.sync = true

  validate!
  
  offer_list = [
    ui.color('Offering ID', :bold),
    ui.color("Location", :bold),
    ui.color('Price', :bold)
  ].flatten.compact
  
  output_column_count = offer_list.length
  
  address_offerings = connection.list_address_offerings[:body]["addresses"]
  
  address_offerings.each do |offer|
    
    did = datacenter_id
    if did.nil? or did.eql?( offer["location"] )
    
      offer_list << offer["id"].to_s
      offer_list << connection.locations.get(offer["location"]).name
      offer_list << "#{offer['price']['rate']}#{offer['price']['currencyCode']}/#{offer['price']['pricePerQuantity']}#{offer['price']['unitOfMeasure']}"
    
    end
    
  end
  
  puts "\n"
  puts ui.list(offer_list, :uneven_columns_across, output_column_count)
  
end