Class: GreenAndSecure::BlockNew

Inherits:
Chef::Knife show all
Defined in:
lib/chef/knife/block.rb

Instance Method Summary collapse

Methods inherited from Chef::Knife

#get_config_file

Instance Method Details

#runObject



207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
# File 'lib/chef/knife/block.rb', line 207

def run
  puts "This will create a new knife configuration file for you to use with knife-block"
  unless name_args.size == 1
    @config_name = ui.ask_question("Please provide a friendly name for the new configuration file: ")
  else
    @config_name = name_args.first
  end

  @chef_server = ui.ask_question("Please enter the url to your Chef Server: ")
  @client_name = ui.ask_question("Please enter the name of the Chef client: ")

  require 'ohai'
  require 'chef/knife/configure'

  GreenAndSecure::check_block_setup
  knife_config = Chef::Knife::Configure.new
  knife_config.config[:config_file] = "#{GreenAndSecure::chef_config_base}/knife-#{@config_name}.rb"
  knife_config.config[:chef_server_url] = @chef_server
  knife_config.config[:node_name] = @client_name
  knife_config.config[:client_key] = "#{GreenAndSecure::chef_config_base}/#{@client_name}-#{@config_name}.pem"
  knife_config.run

  puts "#{GreenAndSecure::chef_config_base}/knife-#{@config_name}.rb has been successfully created"
  GreenAndSecure::BlockList.new.run
  use = GreenAndSecure::BlockUse.new
  use.name_args = [@config_name]
  use.run
end