Class: Chef::Provider::ChefRole

Inherits:
Cheffish::ChefProviderBase show all
Defined in:
lib/chef/provider/chef_role.rb

Instance Method Summary collapse

Methods inherited from Cheffish::ChefProviderBase

#apply_modifiers, #apply_run_list_modifiers, #augment_current_json, #current_json, #current_resource_exists?, #json_differences, #json_differences_internal, #json_to_resource, #new_json, #normalize, #normalize_for_post, #normalize_for_put, #not_found_resource, #resource_to_json, #rest, #same_run_list_item

Instance Method Details

#augment_new_json(json) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/chef/provider/chef_role.rb', line 52

def augment_new_json(json)
  # Apply modifiers

  json['run_list'] = apply_run_list_modifiers(new_resource.run_list_modifiers, new_resource.run_list_removers, json['run_list'])
  json['default_attributes'] = apply_modifiers(new_resource.default_attribute_modifiers, json['default_attributes'])
  json['override_attributes'] = apply_modifiers(new_resource.override_attribute_modifiers, json['override_attributes'])
  json
end

#data_handlerObject



68
69
70
# File 'lib/chef/provider/chef_role.rb', line 68

def data_handler
  Chef::ChefFS::DataHandler::RoleDataHandler.new
end

#keysObject



72
73
74
75
76
77
78
79
80
81
# File 'lib/chef/provider/chef_role.rb', line 72

def keys
  {
    'name' => :name,
    'description' => :description,
    'run_list' => :run_list,
    'env_run_lists' => :env_run_lists,
    'default_attributes' => :default_attributes,
    'override_attributes' => :override_attributes
  }
end

#load_current_resourceObject



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/chef/provider/chef_role.rb', line 40

def load_current_resource
  begin
    @current_resource = json_to_resource(rest.get("roles/#{new_resource.name}"))
  rescue Net::HTTPServerException => e
    if e.response.code == "404"
      @current_resource = not_found_resource
    else
      raise
    end
  end
end

#resource_classObject

Helpers



64
65
66
# File 'lib/chef/provider/chef_role.rb', line 64

def resource_class
  Chef::Resource::ChefRole
end

#whyrun_supported?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/chef/provider/chef_role.rb', line 10

def whyrun_supported?
  true
end