class Chef::Knife::JoyentFwList

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/joyent_fw_list.rb, line 12
def run
  if name_args.size > 0
    id = name_args.first
    res = self.connection.request(
      :method => "GET",
      :path => "/my/machines/#{id}/fwrules"
    )
  else
    res = self.connection.request(
      :method => "GET",
      :path => "/my/fwrules"
    )
  end

  if res.status == 200
    rules = [
      ui.color('ID', :bold),
      ui.color('Enabled', :bold),
      ui.color('Rule', :bold),
    ]

    res[:body].each do |r|
      rules << r["id"]
      rules << (r["enabled"] ? ui.color("✓", :cyan) : "✗")
      rules << r["rule"]
    end
    ui.output ui.list(rules, :uneven_columns_across, 3)
  else
    output_error(res)
  end
end