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.
95 96 97 |
# File 'lib/chef/provider/machine.rb', line 95 def machine_spec @machine_spec end |
Class Method Details
.upload_files(action_handler, machine, files) ⇒ Object
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/chef/provider/machine.rb', line 161 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
101 102 103 104 105 |
# File 'lib/chef/provider/machine.rb', line 101 def current_driver if machine_spec.driver_url run_context.chef_provisioning.driver_for(machine_spec.driver_url) end end |
#current_machine_options ⇒ Object
121 122 123 |
# File 'lib/chef/provider/machine.rb', line 121 def (current_driver) end |
#from_image_spec ⇒ Object
107 108 109 110 111 112 113 114 115 |
# File 'lib/chef/provider/machine.rb', line 107 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
153 154 155 156 157 158 159 |
# File 'lib/chef/provider/machine.rb', line 153 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
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/chef/provider/machine.rb', line 125 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, :chef_config ].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
97 98 99 |
# File 'lib/chef/provider/machine.rb', line 97 def new_driver run_context.chef_provisioning.driver_for(new_resource.driver) end |
#new_machine_options ⇒ Object
117 118 119 |
# File 'lib/chef/provider/machine.rb', line 117 def (new_driver) end |
#whyrun_supported? ⇒ Boolean
17 18 19 |
# File 'lib/chef/provider/machine.rb', line 17 def whyrun_supported? true end |