Class: Chef::Provider::Machine
- Inherits:
-
LWRPBase
- Object
- LWRPBase
- Chef::Provider::Machine
- Defined in:
- lib/chef/provider/machine.rb
Instance Attribute Summary collapse
-
#machine_spec ⇒ Object
readonly
Returns the value of attribute machine_spec.
Class Method Summary collapse
Instance Method Summary collapse
- #action_handler ⇒ Object
- #current_driver ⇒ Object
- #current_machine_options ⇒ Object
- #from_image_spec ⇒ Object
- #load_current_resource ⇒ Object
- #machine_options(driver) ⇒ Object
- #new_driver ⇒ Object
- #new_machine_options ⇒ Object
- #whyrun_supported? ⇒ Boolean
Instance Attribute Details
#machine_spec ⇒ Object (readonly)
Returns the value of attribute machine_spec.
87 88 89 |
# File 'lib/chef/provider/machine.rb', line 87 def machine_spec @machine_spec end |
Class Method Details
.upload_files(action_handler, machine, files) ⇒ Object
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/chef/provider/machine.rb', line 152 def self.upload_files(action_handler, machine, files) if files files.each_pair do |remote_file, local| if local.is_a?(Hash) if local[:local_path] machine.upload_file(action_handler, local[:local_path], remote_file) else machine.write_file(action_handler, remote_file, local[:content]) end else machine.upload_file(action_handler, local, remote_file) end end end end |
Instance Method Details
#action_handler ⇒ Object
11 12 13 |
# File 'lib/chef/provider/machine.rb', line 11 def action_handler @action_handler ||= Chef::Provisioning::ChefProviderActionHandler.new(self) end |
#current_driver ⇒ Object
93 94 95 96 97 |
# File 'lib/chef/provider/machine.rb', line 93 def current_driver if machine_spec.driver_url run_context.chef_provisioning.driver_for(machine_spec.driver_url) end end |
#current_machine_options ⇒ Object
113 114 115 |
# File 'lib/chef/provider/machine.rb', line 113 def (current_driver) end |
#from_image_spec ⇒ Object
99 100 101 102 103 104 105 106 107 |
# File 'lib/chef/provider/machine.rb', line 99 def from_image_spec @from_image_spec ||= begin if new_resource.from_image Chef::Provisioning::ChefImageSpec.get(new_resource.from_image, new_resource.chef_server) else nil end end end |
#load_current_resource ⇒ Object
144 145 146 147 148 149 150 |
# File 'lib/chef/provider/machine.rb', line 144 def load_current_resource node_driver = Chef::Provider::ChefNode.new(new_resource, run_context) node_driver.load_current_resource json = node_driver.new_json json['normal']['chef_provisioning'] = node_driver.current_json['normal']['chef_provisioning'] @machine_spec = Chef::Provisioning::ChefMachineSpec.new(json, new_resource.chef_server) end |
#machine_options(driver) ⇒ Object
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/chef/provider/machine.rb', line 117 def (driver) configs = [] if from_image_spec && from_image_spec. configs << from_image_spec. end configs << { :convergence_options => [ :chef_server, :allow_overwrite_keys, :source_key, :source_key_path, :source_key_pass_phrase, :private_key_options, :ohai_hints, :public_key_path, :public_key_format, :admin, :validator ].inject({}) do |result, key| result[key] = new_resource.send(key) result end } configs << new_resource. if new_resource. configs << driver.config[:machine_options] if driver.config[:machine_options] Cheffish::MergedConfig.new(*configs) end |
#new_driver ⇒ Object
89 90 91 |
# File 'lib/chef/provider/machine.rb', line 89 def new_driver run_context.chef_provisioning.driver_for(new_resource.driver) end |
#new_machine_options ⇒ Object
109 110 111 |
# File 'lib/chef/provider/machine.rb', line 109 def (new_driver) end |
#whyrun_supported? ⇒ Boolean
17 18 19 |
# File 'lib/chef/provider/machine.rb', line 17 def whyrun_supported? true end |