[role="xpack"]
[testenv="platinum"]
[[ccr-put-auto-follow-pattern]]
=== Create Auto-Follow Pattern API
++++
<titleabbrev>Create Auto-Follow Pattern</titleabbrev>
++++

beta[]

Creates an auto-follow pattern.

==== Description

This API creates a new named collection of auto-follow patterns against the
remote cluster specified in the request body. Newly created indices on the
remote cluster matching any of the specified patterns will be automatically
configured as follower indices.

==== Request

[source,js]
--------------------------------------------------
PUT /_ccr/auto_follow/<auto_follow_pattern_name>
{
  "remote_cluster" : "<remote_cluster>",
  "leader_index_patterns" :
  [
    "<leader_index_pattern>"
  ],
  "follow_index_pattern" : "<follow_index_pattern>"
}
--------------------------------------------------
// CONSOLE
// TEST[setup:remote_cluster]
// TEST[s/<auto_follow_pattern_name>/auto_follow_pattern_name/]
// TEST[s/<remote_cluster>/remote_cluster/]
// TEST[s/<leader_index_patterns>/leader_index*/]
// TEST[s/<follow_index_pattern>/{{leader_index}}-follower/]

//////////////////////////

[source,js]
--------------------------------------------------
DELETE /_ccr/auto_follow/auto_follow_pattern_name
--------------------------------------------------
// CONSOLE
// TEST[continued]

//////////////////////////

==== Path Parameters
`auto_follow_pattern_name` (required)::
  (string) name of the collection of auto-follow patterns

==== Request Body
`remote_cluster`::
  (required string) the <<modules-remote-clusters,remote cluster>> containing the
  leader indices to match against

`leader_index_patterns`::
  (array) an array of simple index patterns to match against indices in the
  remote cluster specified by the `remote_cluster` field

`follow_index_pattern`::
  (string) the name of follower index; the template `{{leader_index}}` can be
  used to derive the name of the follower index from the name of the leader
  index

include::../follow-request-body.asciidoc[]

==== Example

This example creates an auto-follow pattern named `my_auto_follow_pattern`:

[source,js]
--------------------------------------------------
PUT /_ccr/auto_follow/my_auto_follow_pattern
{
  "remote_cluster" : "remote_cluster",
  "leader_index_patterns" :
  [
    "leader_index*"
  ],
  "follow_index_pattern" : "{{leader_index}}-follower",
  "max_read_request_operation_count" : 1024,
  "max_outstanding_read_requests" : 16,
  "max_read_request_size" : "1024k",
  "max_write_request_operation_count" : 32768,
  "max_write_request_size" : "16k",
  "max_outstanding_write_requests" : 8,
  "max_write_buffer_count" : 512,
  "max_write_buffer_size" : "512k",
  "max_retry_delay" : "10s",
  "read_poll_timeout" : "30s"
}
--------------------------------------------------
// CONSOLE
// TEST[setup:remote_cluster]

The API returns the following result:

[source,js]
--------------------------------------------------
{
  "acknowledged" : true
}
--------------------------------------------------
// TESTRESPONSE

//////////////////////////

[source,js]
--------------------------------------------------
DELETE /_ccr/auto_follow/my_auto_follow_pattern
--------------------------------------------------
// CONSOLE
// TEST[continued]

//////////////////////////
