Method: Chef::Node#consume_chef_environment

Defined in:
lib/chef/node.rb

#consume_chef_environment(attrs) ⇒ Object

chef_environment when set in -j JSON will take precedence over -E ENVIRONMENT. Ideally, IMO, the order of precedence should be (lowest to

highest):
 config_file
 -j JSON
 -E ENVIRONMENT

so that users could reuse their JSON and override the chef_environment configured within it with -E ENVIRONMENT. Because command line options are merged with Chef::Config there is currently no way to distinguish between an environment set via config from an environment set via command line.



458
459
460
461
462
463
464
# File 'lib/chef/node.rb', line 458

def consume_chef_environment(attrs)
  attrs = attrs ? attrs.dup : {}
  if env = attrs.delete("chef_environment")
    chef_environment(env)
  end
  attrs
end