32 lines
1.2 KiB
Ruby
32 lines
1.2 KiB
Ruby
# Chef Resource for installing or removing Elasticsearch from package or source
|
|
class ElasticsearchCookbook::InstallResource < Chef::Resource::LWRPBase
|
|
resource_name :elasticsearch_install
|
|
provides :elasticsearch_install
|
|
|
|
actions(:install, :remove)
|
|
default_action :install
|
|
|
|
# this is what helps the various resources find each other
|
|
attribute(:instance_name, kind_of: String)
|
|
|
|
# if this version parameter is not set by the caller, we look at
|
|
# `attributes/default.rb` for a default value to use, or we raise
|
|
attribute(:version, kind_of: String, default: '7.4.2')
|
|
|
|
# we allow a string or symbol for this value
|
|
attribute(:type, kind_of: String, equal_to: %w(package tarball repository), default: 'repository')
|
|
|
|
# these use `attributes/default.rb` for default values per platform and install type
|
|
attribute(:download_url, kind_of: String)
|
|
attribute(:download_checksum, kind_of: String) # sha256
|
|
|
|
# where to install?
|
|
attribute(:dir, kind_of: String, default: '/usr/share')
|
|
|
|
# attributes used by the package-flavor provider
|
|
attribute(:package_options, kind_of: String)
|
|
|
|
# attributes for the repository-option install
|
|
attribute(:enable_repository_actions, kind_of: [TrueClass, FalseClass], default: true)
|
|
end
|