Class: Chef::Knife::ProfitbricksFailoverAdd
- Inherits:
-
Chef::Knife
- Object
- Chef::Knife
- Chef::Knife::ProfitbricksFailoverAdd
- Includes:
- ProfitbricksBase
- Defined in:
- lib/chef/knife/profitbricks_ipfailover_add.rb
Instance Method Summary collapse
Methods included from ProfitbricksBase
#connection, #error_and_exit, #get_image, included, #msg_pair, #validate_required_params
Instance Method Details
#run ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# 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 |