class Chef::Knife::ProfitbricksDatacenterCreate

Public Instance Methods

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

  validate_required_params(%i(name location), Chef::Config[:knife])

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

  connection
  datacenter = ProfitBricks::Datacenter.create(
    name: Chef::Config[:knife][:name],
    description: Chef::Config[:knife][:description],
    location: Chef::Config[:knife][:location]
  )

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

  @dcid = datacenter.id
  puts "\n"
  puts "#{ui.color('ID', :cyan)}: #{datacenter.id}"
  puts "#{ui.color('Name', :cyan)}: #{datacenter.properties['name']}"
  puts "#{ui.color('Description', :cyan)}: #{datacenter.properties['description']}"
  puts "#{ui.color('Location', :cyan)}: #{datacenter.properties['location']}"
  puts 'done'
end