class Chef::Knife::ProfitbricksFailoverAdd
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/profitbricks_ipfailover_add.rb, line 30 def run $stdout.sync = true validate_required_params(%i[datacenter_id lan_id ip nic_id], Chef::Config[:knife]) connection lan = ProfitBricks::LAN.get(Chef::Config[:knife][:datacenter_id], Chef::Config[:knife][:lan_id]) failover_ips = lan.properties[:ipFailover] failover_ips ||= [] ip_failover = {} ip_failover['ip'] = Chef::Config[:knife][:ip] ip_failover['nicUuid'] = Chef::Config[:knife][:nic_id] failover_ips.push(ip_failover) lan.update(ipFailover: failover_ips) lan.wait_for { 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 "#{ui.color('IP Failover', :cyan)}: #{lan.properties['ipFailover']}" puts 'done' end