Skip to content

Commit d46369e

Browse files
Support index pattern exclusion in CCR AutoFollow (#5832) (#5834)
* Add leader index exclusion patterns * Update create auto follow pattern request * Update auto follow pattern response Co-authored-by: Steve Gordon <sgordon@hotmail.co.uk>
1 parent 07224df commit d46369e

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/Nest/XPack/CrossClusterReplication/AutoFollow/CreateAutoFollowPattern/CreateAutoFollowPatternRequest.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ public partial class CreateAutoFollowPatternRequest
2323
public string RemoteCluster { get; set; }
2424
/// <inheritdoc cref="IAutoFollowPattern.LeaderIndexPatterns"/>
2525
public IEnumerable<string> LeaderIndexPatterns { get; set; }
26+
/// <inheritdoc cref="IAutoFollowPattern.LeaderIndexExclusionPatterns"/>
27+
public IEnumerable<string> LeaderIndexExclusionPatterns { get; set; }
2628
/// <inheritdoc cref="IAutoFollowPattern.Settings"/>
2729
public IIndexSettings Settings { get; set; }
2830
/// <inheritdoc cref="IAutoFollowPattern.FollowIndexPattern"/>
@@ -54,6 +56,7 @@ public partial class CreateAutoFollowPatternDescriptor
5456
{
5557
string IAutoFollowPattern.RemoteCluster { get; set; }
5658
IEnumerable<string> IAutoFollowPattern.LeaderIndexPatterns { get; set; }
59+
IEnumerable<string> IAutoFollowPattern.LeaderIndexExclusionPatterns { get; set; }
5760
string IAutoFollowPattern.FollowIndexPattern { get; set; }
5861
IIndexSettings IAutoFollowPattern.Settings { get; set; }
5962
int? IAutoFollowPattern.MaxReadRequestOperationCount { get; set; }
@@ -78,6 +81,14 @@ public CreateAutoFollowPatternDescriptor LeaderIndexPatterns(IEnumerable<string>
7881
public CreateAutoFollowPatternDescriptor LeaderIndexPatterns(params string[] leaderIndexPatterns) =>
7982
Assign(leaderIndexPatterns, (a, v) => a.LeaderIndexPatterns = v);
8083

84+
/// <inheritdoc cref="IAutoFollowPattern.LeaderIndexExclusionPatterns"/>
85+
public CreateAutoFollowPatternDescriptor LeaderIndexExclusionPatterns(IEnumerable<string> leaderIndexExclusionPatterns) =>
86+
Assign(leaderIndexExclusionPatterns, (a, v) => a.LeaderIndexExclusionPatterns = v);
87+
88+
/// <inheritdoc cref="IAutoFollowPattern.LeaderIndexExclusionPatterns"/>
89+
public CreateAutoFollowPatternDescriptor LeaderIndexExclusionPatterns(params string[] leaderIndexExclusionPatterns) =>
90+
Assign(leaderIndexExclusionPatterns, (a, v) => a.LeaderIndexExclusionPatterns = v);
91+
8192
/// <inheritdoc cref="IAutoFollowPattern.FollowIndexPattern"/>
8293
public CreateAutoFollowPatternDescriptor FollowIndexPattern(string followIndexPattern) =>
8394
Assign(followIndexPattern, (a, v) => a.FollowIndexPattern = v);

src/Nest/XPack/CrossClusterReplication/AutoFollow/GetAutoFollowPattern/GetAutoFollowPatternResponse.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,13 @@ public interface IAutoFollowPattern
106106
[DataMember(Name = "leader_index_patterns")]
107107
IEnumerable<string> LeaderIndexPatterns { get; set; }
108108

109+
/// <summary>
110+
/// An array of simple index patterns that can be used to exclude indices from being auto-followed. Indices in the remote cluster whose names are matching one or
111+
/// more `leader_index_patterns` and one or more `leader_index_exclusion_patterns` won't be followed.
112+
/// </summary>
113+
[DataMember(Name = "leader_index_exclusion_patterns")]
114+
IEnumerable<string> LeaderIndexExclusionPatterns { get; set; }
115+
109116
/// <summary>
110117
/// Settings to override from the leader index.
111118
/// Note that certain settings can not be overrode e.g. index.number_of_shards.
@@ -194,6 +201,8 @@ public class AutoFollowPattern : IAutoFollowPattern
194201

195202
/// <inheritdoc cref="IAutoFollowPattern.LeaderIndexPatterns" />
196203
public IEnumerable<string> LeaderIndexPatterns { get; set; }
204+
/// <inheritdoc cref="IAutoFollowPattern.LeaderIndexExclusionPatterns" />
205+
public IEnumerable<string> LeaderIndexExclusionPatterns { get; set; }
197206

198207
/// <inheritdoc cref="IAutoFollowPattern.Settings" />
199208
public IIndexSettings Settings { get; set; }

0 commit comments

Comments
 (0)