diff --git a/config/elasticsearch.yml b/config/elasticsearch.yml
index 60f68002c25..8dc5e3b30e5 100644
--- a/config/elasticsearch.yml
+++ b/config/elasticsearch.yml
@@ -333,6 +333,17 @@
# See
# for a step-by-step tutorial.
+# GCE discovery allows to use Google Compute Engine API in order to perform discovery.
+#
+# You have to install the cloud-gce plugin for enabling the GCE discovery.
+#
+# For more information, see .
+
+# Azure discovery allows to use Azure API in order to perform discovery.
+#
+# You have to install the cloud-azure plugin for enabling the Azure discovery.
+#
+# For more information, see .
################################## Slow Log ##################################
diff --git a/docs/reference/modules/discovery.asciidoc b/docs/reference/modules/discovery.asciidoc
index f63bce14066..292748d1d7b 100644
--- a/docs/reference/modules/discovery.asciidoc
+++ b/docs/reference/modules/discovery.asciidoc
@@ -21,6 +21,10 @@ The default value for the cluster name is `elasticsearch`, though it is
recommended to change this to reflect the logical group name of the
cluster running.
+include::discovery/azure.asciidoc[]
+
include::discovery/ec2.asciidoc[]
+include::discovery/gce.asciidoc[]
+
include::discovery/zen.asciidoc[]
diff --git a/docs/reference/modules/discovery/azure.asciidoc b/docs/reference/modules/discovery/azure.asciidoc
new file mode 100644
index 00000000000..bb6fdc86a42
--- /dev/null
+++ b/docs/reference/modules/discovery/azure.asciidoc
@@ -0,0 +1,6 @@
+[[modules-discovery-azure]]
+=== Azure Discovery
+
+Azure discovery allows to use the Azure APIs to perform automatic discovery (similar to multicast).
+Please check the https://github.com/elasticsearch/elasticsearch-cloud-azure[plugin website]
+to find the full documentation.
diff --git a/docs/reference/modules/discovery/ec2.asciidoc b/docs/reference/modules/discovery/ec2.asciidoc
index c8b9abe964b..9d0fa3fdf8e 100644
--- a/docs/reference/modules/discovery/ec2.asciidoc
+++ b/docs/reference/modules/discovery/ec2.asciidoc
@@ -1,82 +1,6 @@
[[modules-discovery-ec2]]
=== EC2 Discovery
-EC2 discovery allows to use the EC2 APIs to perform automatic discovery
-(similar to multicast in non hostile multicast environments). Here is a
-simple sample configuration:
-
-[source,js]
---------------------------------------------------
-cloud:
- aws:
- access_key: AKVAIQBF2RECL7FJWGJQ
- secret_key: vExyMThREXeRMm/b/LRzEB8jWwvzQeXgjqMX+6br
-
-discovery:
- type: ec2
---------------------------------------------------
-
-You'll need to install the `cloud-aws` plugin. Please check the
-https://github.com/elasticsearch/elasticsearch-cloud-aws[plugin website]
-to find the most up-to-date version to install before (re)starting
-elasticsearch.
-
-The following are a list of settings (prefixed with `discovery.ec2`)
-that can further control the discovery:
-
-[cols="<,<",options="header",]
-|=======================================================================
-|Setting |Description
-|`groups` |Either a comma separated list or array based list of
-(security) groups. Only instances with the provided security groups will
-be used in the cluster discovery.
-
-|`host_type` |The type of host type to use to communicate with other
-instances. Can be one of `private_ip`, `public_ip`, `private_dns`,
-`public_dns`. Defaults to `private_ip`.
-
-|`availability_zones` |Either a comma separated list or array based list
-of availability zones. Only instances within the provided availability
-zones will be used in the cluster discovery.
-
-|`any_group` |If set to `false`, will require all security groups to be
-present for the instance to be used for the discovery. Defaults to
-`true`.
-
-|`ping_timeout` |How long to wait for existing EC2 nodes to reply during
-discovery. Defaults to 3s.
-|=======================================================================
-
-[float]
-==== Filtering by Tags
-
-EC2 discovery can also filter machines to include in the cluster based
-on tags (and not just groups). The settings to use include the
-`discovery.ec2.tag.` prefix. For example, setting
-`discovery.ec2.tag.stage` to `dev` will only filter instances with a tag
-key set to `stage`, and a value of `dev`. Several tags set will require
-all of those tags to be set for the instance to be included.
-
-One practical use for tag filtering is when an EC2 cluster contains many
-nodes that are not running elasticsearch. In this case (particularly
-with high `ping_timeout` values) there is a risk that a new node's
-discovery phase will end before it has found the cluster (which will
-result in it declaring itself master of a new cluster with the same name
-- highly undesirable). Tagging elasticsearch EC2 nodes and then
-filtering by that tag will resolve this issue.
-
-[float]
-==== Region
-
-The `cloud.aws.region` can be set to a region and will automatically use
-the relevant settings for both `ec2` and `s3`. The available values are:
-`us-east-1`, `us-west-1`, `ap-southeast-1`, `eu-west-1`.
-
-[float]
-==== Automatic Node Attributes
-
-Though not dependent on actually using `ec2` as discovery (but still
-requires the cloud aws plugin installed), the plugin can automatically
-add node attributes relating to EC2 (for example, availability zone,
-that can be used with the awareness allocation feature). In order to
-enable it, set `cloud.node.auto_attributes` to `true` in the settings.
+EC2 discovery allows to use the EC2 APIs to perform automatic discovery (similar to multicast).
+Please check the https://github.com/elasticsearch/elasticsearch-cloud-aws[plugin website]
+to find the full documentation.
diff --git a/docs/reference/modules/discovery/gce.asciidoc b/docs/reference/modules/discovery/gce.asciidoc
new file mode 100644
index 00000000000..bb9c89f6130
--- /dev/null
+++ b/docs/reference/modules/discovery/gce.asciidoc
@@ -0,0 +1,6 @@
+[[modules-discovery-gce]]
+=== Google Compute Engine Discovery
+
+Google Compute Engine (GCE) discovery allows to use the GCE APIs to perform automatic discovery (similar to multicast).
+Please check the https://github.com/elasticsearch/elasticsearch-cloud-gce[plugin website]
+to find the full documentation.
diff --git a/docs/reference/modules/discovery/zen.asciidoc b/docs/reference/modules/discovery/zen.asciidoc
index 11b848f6b01..02282d78449 100644
--- a/docs/reference/modules/discovery/zen.asciidoc
+++ b/docs/reference/modules/discovery/zen.asciidoc
@@ -39,9 +39,9 @@ respond to. It provides the following settings with the
|`address` |The address to bind to, defaults to `null` which means it
will bind to all available network interfaces.
-|=======================================================================
-Multicast can be disabled by setting `multicast.enabled` to `false`.
+|`enabled` |Whether multicast ping discovery is enabled. Defaults to `true`.
+|=======================================================================
[float]
[[unicast]]
diff --git a/docs/reference/modules/plugins.asciidoc b/docs/reference/modules/plugins.asciidoc
index f14dcca7fdf..d544c13e3ba 100644
--- a/docs/reference/modules/plugins.asciidoc
+++ b/docs/reference/modules/plugins.asciidoc
@@ -243,7 +243,9 @@ bin/plugin --install mobz/elasticsearch-head --timeout 0
.Supported by Elasticsearch
* https://github.com/elasticsearch/elasticsearch-mapper-attachments[Mapper Attachments Type plugin]
* https://github.com/elasticsearch/elasticsearch-hadoop/tree/master/repository-hdfs[Hadoop HDFS Snapshot/Restore Plugin]
-* https://github.com/elasticsearch/elasticsearch-cloud-aws[AWS Cloud Plugin]
+* https://github.com/elasticsearch/elasticsearch-cloud-aws[AWS Cloud Plugin] - EC2 discovery and S3 Repository
+* https://github.com/elasticsearch/elasticsearch-cloud-azure[Azure Cloud Plugin] - Azure discovery
+* https://github.com/elasticsearch/elasticsearch-cloud-gce[Google Compute Engine Cloud Plugin] - GCE discovery
.Supported by the community
* https://github.com/carrot2/elasticsearch-carrot2[carrot2 Plugin]: Results clustering with carrot2 (by Dawid Weiss)