class Chef::Knife::ProfitbricksLanCreate

Public Instance Methods

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

  print "#{ui.color('Creating LAN...', :magenta)}"

  connection
  lan = ProfitBricks::LAN.create(
    Chef::Config[:knife][:datacenter_id],
    name: Chef::Config[:knife][:name],
    public: Chef::Config[:knife][:public]
  )

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

  puts "\n"
  puts "#{ui.color('ID', :cyan)}: #{lan.id}"
  puts "#{ui.color('Name', :cyan)}: #{lan.properties['name']}"
  puts "#{ui.color('Public', :cyan)}: #{lan.properties['public']}"

  puts 'done'
end