class Chef::Knife::ProfitbricksIpblockCreate

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/profitbricks_ipblock_create.rb, line 20
def run
  $stdout.sync = true
  validate_required_params(%i(size location), Chef::Config[:knife])

  print "#{ui.color('Allocating IP block...', :magenta)}"

  connection
  ipblock = ProfitBricks::IPBlock.create(
    location: Chef::Config[:knife][:location],
    size: Chef::Config[:knife][:size]
  )

  dot = ui.color('.', :magenta)
  ipblock.wait_for { print dot; ready? }

  puts "\n"
  puts "#{ui.color('ID', :cyan)}: #{ipblock.id}"
  puts "#{ui.color('Location', :cyan)}: #{ipblock.properties['location']}"
  puts "#{ui.color('IP Addresses', :cyan)}: #{ipblock.properties['ips']}"
  @ipid = ipblock.id
  puts 'done'
end