class Chef::Resource::CronD

Public Instance Methods

after_created() click to toggle source

warn if someone passes the deprecated cookbook property

# File lib/chef/resource/cron/cron_d.rb, line 114
def after_created
  raise ArgumentError, "The 'cookbook' property for the cron_d resource is no longer supported now that it ships as a core resource." if cookbook
end
create_template(create_action) click to toggle source
# File lib/chef/resource/cron/cron_d.rb, line 148
def create_template(create_action)
  # cleanup the legacy named job if it exists
  file "#{new_resource.cron_name} legacy named cron.d file" do
    path "/etc/cron.d/#{new_resource.cron_name}"
    action :delete
    only_if { new_resource.cron_name != sanitized_name }
  end

  # @todo this is Chef 12 era cleanup. Someday we should remove it all
  template "/etc/cron.d/#{sanitized_name}" do
    source ::File.expand_path("../support/cron.d.erb", __dir__)
    local true
    mode new_resource.mode
    sensitive new_resource.sensitive
    variables(
      name: sanitized_name,
      predefined_value: new_resource.predefined_value,
      minute: new_resource.minute,
      hour: new_resource.hour,
      day: new_resource.day,
      month: new_resource.month,
      weekday: new_resource.weekday,
      command: new_resource.command,
      user: new_resource.user,
      mailto: new_resource.mailto,
      path: new_resource.path,
      home: new_resource.home,
      shell: new_resource.shell,
      comment: new_resource.comment,
      random_delay: new_resource.random_delay,
      environment: new_resource.environment
    )
    action create_action
  end
end
sanitized_name() click to toggle source

@return [String] cron_name property with . replaced with -

# File lib/chef/resource/cron/cron_d.rb, line 144
def sanitized_name
  new_resource.cron_name.tr(".", "-")
end