Class: Chef::Provider::Template

Inherits:
File show all
Extended by:
Deprecation::Warnings
Includes:
Deprecation::Provider::Template
Defined in:
lib/chef/provider/template.rb,
lib/chef/provider/template/content.rb

Defined Under Namespace

Classes: Content

Constant Summary

Constants included from Mixin::ShellOut

Mixin::ShellOut::DEPRECATED_OPTIONS

Instance Attribute Summary

Attributes inherited from File

#deployment_strategy, #managing_symlink, #needs_creating, #needs_unlinking

Attributes inherited from Chef::Provider

#action, #cookbook_name, #current_resource, #new_resource, #recipe_name, #run_context

Instance Method Summary collapse

Methods included from Deprecation::Warnings

add_deprecation_warnings_for

Methods included from Deprecation::Provider::Template

#content_matches?, #rendered, #resource_cookbook, #template_finder, #template_location

Methods included from Deprecation::Mixin::Template

#render_template

Methods inherited from File

#action_create, #action_create_if_missing, #action_delete, #action_touch, #manage_symlink_access?, #whyrun_supported?

Methods included from Deprecation::Provider::File

#backup, #compare_content, #deploy_tempfile, #diff_current, #diff_current_from_content, #is_binary?, #set_all_access_controls, #set_content, #setup_acl, #update_new_file_state

Methods included from Mixin::FileClass

#file_class

Methods included from Util::Selinux

#restore_security_context, #selinux_enabled?

Methods included from Mixin::Which

#which

Methods included from Mixin::ShellOut

#run_command_compatible_options, #shell_out, #shell_out!, #shell_out_with_systems_locale, #shell_out_with_systems_locale!

Methods included from Mixin::Checksum

#checksum

Methods included from Mixin::EnforceOwnershipAndPermissions

#access_controls, #enforce_ownership_and_permissions

Methods inherited from Chef::Provider

#action_nothing, #cleanup_after_converge, #converge_by, #events, #node, node_map, #process_resource_requirements, provides, provides?, #requirements, #resource_collection, #resource_updated?, #run_action, #set_updated_status, supports?, #whyrun_mode?, #whyrun_supported?

Methods included from Mixin::DescendantsTracker

#descendants, descendants, direct_descendants, #direct_descendants, find_descendants_by_name, #find_descendants_by_name, #inherited, store_inherited

Constructor Details

#initialize(new_resource, run_context) ⇒ Template

Returns a new instance of Template.



34
35
36
37
# File 'lib/chef/provider/template.rb', line 34

def initialize(new_resource, run_context)
  @content_class = Chef::Provider::Template::Content
  super
end

Instance Method Details

#define_resource_requirementsObject



44
45
46
47
48
49
50
51
52
53
# File 'lib/chef/provider/template.rb', line 44

def define_resource_requirements
  super

  requirements.assert(:create, :create_if_missing) do |a|
    a.assertion { ::File::exists?(content.template_location) }
    a.failure_message "Template source #{content.template_location} could not be found."
    a.whyrun "Template source #{content.template_location} does not exist. Assuming it would have been created."
    a.block_action!
  end
end

#load_current_resourceObject



39
40
41
42
# File 'lib/chef/provider/template.rb', line 39

def load_current_resource
  @current_resource = Chef::Resource::Template.new(@new_resource.name)
  super
end