class Chef::Knife::ProfitbricksFirewallCreate
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/profitbricks_firewall_create.rb, line 77 def run $stdout.sync = true validate_required_params(%i(datacenter_id server_id nic_id protocol) , Chef::Config[:knife]) print "#{ui.color('Creating firewall...', :magenta)}" params = { name: Chef::Config[:knife][:name], protocol: Chef::Config[:knife][:protocol], sourceMac: Chef::Config[:knife][:sourcemac], sourceIp: Chef::Config[:knife][:sourceip], targetIp: Chef::Config[:knife][:targetip], portRangeStart: Chef::Config[:knife][:portrangestart], portRangeEnd: Chef::Config[:knife][:portrangeend], icmpType: Chef::Config[:knife][:icmptype], icmpCode: Chef::Config[:knife][:icmpcode] } connection firewall = ProfitBricks::Firewall.create( Chef::Config[:knife][:datacenter_id], Chef::Config[:knife][:server_id], Chef::Config[:knife][:nic_id], params.compact ) dot = ui.color('.', :magenta) firewall.wait_for { print dot; ready? } puts "\n" puts "#{ui.color('ID', :cyan)}: #{firewall.id}" puts "#{ui.color('Name', :cyan)}: #{firewall.properties['name']}" puts "#{ui.color('Protocol', :cyan)}: #{firewall.properties['protocol']}" puts "#{ui.color('Source MAC', :cyan)}: #{firewall.properties['sourceMac']}" puts "#{ui.color('Source IP', :cyan)}: #{firewall.properties['sourceIp']}" puts "#{ui.color('Target IP', :cyan)}: #{firewall.properties['targetIp']}" puts "#{ui.color('Port Range Start', :cyan)}: #{firewall.properties['portRangeStart']}" puts "#{ui.color('Port Range End', :cyan)}: #{firewall.properties['portRangeEnd']}" puts "#{ui.color('ICMP Type', :cyan)}: #{firewall.properties['icmpType']}" puts "#{ui.color('ICMP Code', :cyan)}: #{firewall.properties['icmpCode']}" puts 'done' end