#### Repository management
When using the repository management you will need the following dependency modules:
-* Debian/Ubuntu: [Puppetlabs/apt](http://forge.puppetlabs.com/puppetlabs/apt)
+* Debian/Ubuntu: [Puppetlabs/apt](http://forge.puppetlabs.com/puppetlabs/apt) Version 1.8.x or lower.
* OpenSuSE: [Darin/zypprepo](https://forge.puppetlabs.com/darin/zypprepo)
##Usage
###Plug-ins
-Install [a variety of plugins](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html#known-plugins):
+Install [a variety of plugins](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html#known-plugins). Note that `module_dir` is where the plugin will install itself to and must match that published by the plugin author; it is not where you would like to install it yourself.
####From official repository
```puppet
* `groupId/artifactId/version` for community plugins (download from maven central or oss sonatype)
* `username/repository` for site plugins (download from github master)
+####Upgrading plugins
+When you specify a certain plugin version, you can upgrade that plugin by specifying the new version.
+
+```puppet
+elasticsearch::plugin { 'elasticsearch/elasticsearch-cloud-aws/2.1.1':
+ module_dir => 'cloud-aws',
+}
+```
+
+And to upgrade, you would simply change it to
+
+```puppet
+elasticsearch::plugin { 'elasticsearch/elasticsearch-cloud-aws/2.4.1':
+ module_dir => 'cloud-aws',
+}
+```
+
+Please note that this does not work when you specify 'latest' as a version number.
+
+###Scripts
+
+Install [scripts](http://www.elastic.co/guide/en/elasticsearch/reference/1.x/modules-scripting.html) to be used by Elasticsearch.
+These scripts are shared accross all defined instances on the same host.
+
+```puppet
+elasticsearch::script { 'myscript':
+ ensure => 'present',
+ source => 'puppet:///path/to/my/script.groovy'
+}
+```
+
###Templates
#### Add a new template using a file
##Advanced features
+###Package version pinning
+
+The module supports pinning the package version to avoid accidental upgrades that are not done by Puppet.
+To enable this feature:
+
+```puppet
+class { 'elasticsearch':
+ package_pin => true,
+ version => '1.5.2',
+}
+```
+
+In this example we pin the package version to 1.5.2.
+
###Data directories
The module has been tested on:
-* Debian 6/7
-* CentOS 6
+* Debian 6/7/8
+* CentOS 6/7
* Ubuntu 12.04, 14.04
* OpenSuSE 13.x