# elasticsearch_plugin – Manage Elasticsearch plugins

- Synopsis
- Parameters
- Examples
- Status

## Synopsis

- Manages Elasticsearch plugins.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

force
boolean
added in 2.7

Choices:
- no ←
- yes

Force batch mode when installing plugins. This is only necessary if a plugin requires additional permissions and console detection fails.

name - / required |  | Name of the plugin to install.
plugin_bin - |  | Location of the plugin binary. If this file is not found, the default plugin binaries will be used. The default changed in Ansible 2.4 to None.
plugin_dir - | Default: "/usr/share/elasticsearch/plugins/" | Your configured plugin directory specified in Elasticsearch
proxy_host - |  | Proxy host to use during plugin installation
proxy_port - |  | Proxy port to use during plugin installation

src
-
added in 2.7

Optionally set the source location to retrieve the plugin from. This can be a file:// URL to install from a local file, or a remote URL. If this is not set, the plugin location is just based on the name.
The name parameter must match the descriptor in the plugin ZIP specified.
Is only used if the state would change, which is solely checked based on the name parameter. If, for example, the plugin is already installed, changing this has no effect.
For ES 1.x use url.

state
-

Choices:
- present ←
- absent

Desired state of a plugin.

timeout - | Default: "1m" | Timeout setting: 30s, 1m, 1h... Only valid for Elasticsearch < 5.0. This option is ignored for Elasticsearch > 5.0.
url - |  | Set exact URL to download the plugin from (Only works for ES 1.x). For ES 2.x and higher, use src.
version - |  | Version of the plugin to be installed. If plugin exists with previous version, it will NOT be updated

## Examples

    # Install Elasticsearch Head plugin in Elasticsearch 2.x
    - elasticsearch_plugin:
        name: mobz/elasticsearch-head
        state: present

    # Install a specific version of Elasticsearch Head in Elasticsearch 2.x
    - elasticsearch_plugin:
        name: mobz/elasticsearch-head
        version: 2.0.0

    # Uninstall Elasticsearch head plugin in Elasticsearch 2.x
    - elasticsearch_plugin:
        name: mobz/elasticsearch-head
        state: absent

    # Install a specific plugin in Elasticsearch >= 5.0
    - elasticsearch_plugin:
        name: analysis-icu
        state: present

    # Install the ingest-geoip plugin with a forced installation
    - elasticsearch_plugin:
        name: ingest-geoip
        state: present
        force: yes

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Mathew Davies (@ThePixelDeveloper)
- Sam Doran (@samdoran)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.