# Chef Resource for installing an elasticsearch plugin class ElasticsearchCookbook::PluginResource < Chef::Resource::LWRPBase resource_name :elasticsearch_plugin provides :elasticsearch_plugin include ElasticsearchCookbook::Helpers actions(:install, :remove) default_action :install # if the name or url are different from the resource name attribute(:plugin_name, kind_of: String, name_attribute: true) attribute(:url, kind_of: String, default: nil) attribute(:chef_proxy, kind_of: [TrueClass, FalseClass], default: false) attribute(:options, kind_of: String, default: '') # this is what helps the various resources find each other attribute(:instance_name, kind_of: String, default: nil) end