Class: VagrantAWS::Action::PrepareProvisioners

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-aws/action/prepare_provisioners.rb

Defined Under Namespace

Classes: ChefSolo

Instance Method Summary collapse

Constructor Details

#initialize(app, env) ⇒ PrepareProvisioners

Returns a new instance of PrepareProvisioners.



6
7
8
9
10
11
12
13
# File 'lib/vagrant-aws/action/prepare_provisioners.rb', line 6

def initialize(app, env)
	@app = app
	@env = env
	@env["provision.enabled"] = true if !@env.has_key?("provision.enabled")
	@provisioner_configs = []

	load_provisioner_configs if provisioning_enabled?
end

Instance Method Details

#call(env) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/vagrant-aws/action/prepare_provisioners.rb', line 15

def call(env)
	@provisioner_configs.each do |provisioner_config|
		if provisioner_config.is_a?(Vagrant::Provisioners::ChefSolo::Config)
			env.ui.info I18n.t("vagrant.plugins.aws.actions.prepare_provisioners.uploading_chef_resources")
			ChefSolo.prepare(provisioner_config)
		end
	end
	@app.call(env)
end

#load_provisioner_configsObject



29
30
31
32
33
# File 'lib/vagrant-aws/action/prepare_provisioners.rb', line 29

def load_provisioner_configs
	@env["config"].vm.provisioners.each do |provisioner|
		@provisioner_configs << provisioner.config
	end
end

#provisioning_enabled?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/vagrant-aws/action/prepare_provisioners.rb', line 25

def provisioning_enabled?
  !@env["config"].vm.provisioners.empty? && @env["provision.enabled"]
end