Sha256: a071d31765d6e5e9a5a95eaab16857a1f2275795a02dcb232ae9a3b49cea9bd9

Contents?: true

Size: 991 Bytes

Versions: 2

Compression:

Stored size: 991 Bytes

Contents

require 'chef/knife/profitbricks_base'

class Chef
  class Knife
    class ProfitbricksLanList < Knife
      include Knife::ProfitbricksBase

      banner 'knife profitbricks lan list (options)'

      option :datacenter_id,
             short: '-D DATACENTER_ID',
             long: '--datacenter-id DATACENTER_ID',
             description: 'The ID of the data center',
             proc: proc { |datacenter_id| Chef::Config[:knife][:datacenter_id] = datacenter_id },
             required: true

      def run
        $stdout.sync = true
        lan_list = [
          ui.color('ID', :bold),
          ui.color('Name', :bold),
          ui.color('Public', :bold),
        ]
        connection

        ProfitBricks::LAN.list(config[:datacenter_id]).each do |lan|
          lan_list << lan.id
          lan_list << lan.properties['name']
          lan_list << lan.properties['public'].to_s
        end

        puts ui.list(lan_list, :uneven_columns_across, 3)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
knife-profitbricks-1.2.0 lib/chef/knife/profitbricks_lan_list.rb
knife-profitbricks-1.1.2 lib/chef/knife/profitbricks_lan_list.rb