[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
{stack-ov}/ccr-auto-follow.html[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]

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