Module: Chef::Knife::BrightboxBase

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(includer) ⇒ Object

:nodoc: Would prefer to do this in a rational way, but can’t be done b/c of Mixlib::CLI’s design :(



28
29
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
# File 'lib/chef/knife/brightbox_base.rb', line 28

def self.included(includer)
  includer.class_eval do

    deps do
      require 'fog/brightbox'
      require 'net/ssh/multi'
      require 'readline'
      require 'chef/json_compat'
    end

    option :brightbox_secret,
      :short => "-K KEY",
      :long => "--brightbox-api-key KEY",
      :description => "Your brightbox API key",
      :proc => Proc.new { |key| Chef::Config[:knife][:brightbox_secret] = key }

    option :brightbox_client_id,
      :short => "-A USERNAME",
      :long => "--brightbox-client-id USERNAME",
      :description => "Your brightbox API username",
      :proc => Proc.new { |username| Chef::Config[:knife][:brightbox_client_id] = username }

    option :brightbox_api_auth_url,
      :long => "--brightbox-api-auth-url URL",
      :description => "Your brightbox API auth url",
      :default => "https://api.gb1.brightbox.com",
      :proc => Proc.new { |url| Chef::Config[:knife][:brightbox_api_auth_url] = url }
  end
end

Instance Method Details

#connectionObject



58
59
60
61
62
63
64
65
66
67
# File 'lib/chef/knife/brightbox_base.rb', line 58

def connection
  @connection ||= begin
    connection = Fog::Compute.new(
      :provider => 'Brightbox',
      :brightbox_secret => Chef::Config[:knife][:brightbox_secret],
      :brightbox_client_id => (Chef::Config[:knife][:brightbox_client_id] || Chef::Config[:knife][:brightbox_api_username]),
      :brightbox_auth_url => Chef::Config[:knife][:brightbox_api_auth_url] || config[:brightbox_api_auth_url]
    )
  end
end

#locate_config_value(key) ⇒ Object



69
70
71
72
# File 'lib/chef/knife/brightbox_base.rb', line 69

def locate_config_value(key)
  key = key.to_sym
  Chef::Config[:knife][key] || config[key]
end