@@ -15,23 +15,35 @@ public LifecycleActions() { }
15
15
16
16
public LifecycleActions ( IDictionary < string , ILifecycleAction > container ) : base ( container ) { }
17
17
18
+ /// <inheritdoc cref="IAllocateLifecycleAction"/>
18
19
public void Add ( IAllocateLifecycleAction action ) => BackingDictionary . Add ( "allocate" , action ) ;
19
20
21
+ /// <inheritdoc cref="IDeleteLifecycleAction"/>
20
22
public void Add ( IDeleteLifecycleAction action ) => BackingDictionary . Add ( "delete" , action ) ;
21
23
24
+ /// <inheritdoc cref="IForceMergeLifecycleAction"/>
22
25
public void Add ( IForceMergeLifecycleAction action ) => BackingDictionary . Add ( "forcemerge" , action ) ;
23
26
27
+ /// <inheritdoc cref="IFreezeLifecycleAction"/>
24
28
public void Add ( IFreezeLifecycleAction action ) => BackingDictionary . Add ( "freeze" , action ) ;
25
29
30
+ /// <inheritdoc cref="IReadOnlyLifecycleAction"/>
26
31
public void Add ( IReadOnlyLifecycleAction action ) => BackingDictionary . Add ( "readonly" , action ) ;
27
32
33
+ /// <inheritdoc cref="IRolloverLifecycleAction"/>
28
34
public void Add ( IRolloverLifecycleAction action ) => BackingDictionary . Add ( "rollover" , action ) ;
29
35
36
+ /// <inheritdoc cref="ISetPriorityLifecycleAction"/>
30
37
public void Add ( ISetPriorityLifecycleAction action ) => BackingDictionary . Add ( "set_priority" , action ) ;
31
38
39
+ /// <inheritdoc cref="IShrinkLifecycleAction"/>
32
40
public void Add ( IShrinkLifecycleAction action ) => BackingDictionary . Add ( "shrink" , action ) ;
33
41
42
+ /// <inheritdoc cref="IUnfollowLifecycleAction"/>
34
43
public void Add ( IUnfollowLifecycleAction action ) => BackingDictionary . Add ( "unfollow" , action ) ;
44
+
45
+ /// <inheritdoc cref="IWaitForSnapshotLifecycleAction"/>
46
+ public void Add ( IWaitForSnapshotLifecycleAction action ) => BackingDictionary . Add ( "wait_for_snapshot" , action ) ;
35
47
}
36
48
37
49
internal class LifecycleActionsJsonFormatter : IJsonFormatter < ILifecycleActions >
@@ -47,6 +59,7 @@ internal class LifecycleActionsJsonFormatter : IJsonFormatter<ILifecycleActions>
47
59
{ "set_priority" , 6 } ,
48
60
{ "shrink" , 7 } ,
49
61
{ "unfollow" , 8 } ,
62
+ { "wait_for_snapshot" , 9 } ,
50
63
} ;
51
64
52
65
public ILifecycleActions Deserialize ( ref JsonReader reader , IJsonFormatterResolver formatterResolver )
@@ -104,6 +117,10 @@ public ILifecycleActions Deserialize(ref JsonReader reader, IJsonFormatterResolv
104
117
lifecycleAction = formatterResolver . GetFormatter < UnfollowLifecycleAction > ( )
105
118
. Deserialize ( ref reader , formatterResolver ) ;
106
119
break ;
120
+ case 9 :
121
+ lifecycleAction = formatterResolver . GetFormatter < WaitForSnapshotLifecycleAction > ( )
122
+ . Deserialize ( ref reader , formatterResolver ) ;
123
+ break ;
107
124
}
108
125
109
126
lifecycles . Add ( type . Utf8String ( ) , lifecycleAction ) ;
@@ -161,6 +178,9 @@ public void Serialize(ref JsonWriter writer, ILifecycleActions value, IJsonForma
161
178
case "unfollow" :
162
179
Serialize < IUnfollowLifecycleAction > ( ref writer , action . Value , formatterResolver ) ;
163
180
break ;
181
+ case "wait_for_snapshot" :
182
+ Serialize < IWaitForSnapshotLifecycleAction > ( ref writer , action . Value , formatterResolver ) ;
183
+ break ;
164
184
default :
165
185
DynamicObjectResolver . ExcludeNullCamelCase . GetFormatter < ILifecycleAction > ( )
166
186
. Serialize ( ref writer , action . Value , formatterResolver ) ;
@@ -181,31 +201,44 @@ public class LifecycleActionsDescriptor : IsADictionaryDescriptorBase<LifecycleA
181
201
{
182
202
public LifecycleActionsDescriptor ( ) : base ( new LifecycleActions ( ) ) { }
183
203
204
+ /// <inheritdoc cref="IAllocateLifecycleAction"/>
184
205
public LifecycleActionsDescriptor Allocate ( Func < AllocateLifecycleActionDescriptor , IAllocateLifecycleAction > selector ) =>
185
206
Assign ( "allocate" , selector . InvokeOrDefault ( new AllocateLifecycleActionDescriptor ( ) ) ) ;
186
207
208
+ /// <inheritdoc cref="IDeleteLifecycleAction"/>
187
209
public LifecycleActionsDescriptor Delete ( Func < DeleteLifecycleActionDescriptor , IDeleteLifecycleAction > selector ) =>
188
210
Assign ( "delete" , selector . InvokeOrDefault ( new DeleteLifecycleActionDescriptor ( ) ) ) ;
189
211
212
+ /// <inheritdoc cref="IForceMergeLifecycleAction"/>
190
213
public LifecycleActionsDescriptor ForceMerge ( Func < ForceMergeLifecycleActionDescriptor , IForceMergeLifecycleAction > selector ) =>
191
214
Assign ( "forcemerge" , selector . InvokeOrDefault ( new ForceMergeLifecycleActionDescriptor ( ) ) ) ;
192
215
216
+ /// <inheritdoc cref="IFreezeLifecycleAction"/>
193
217
public LifecycleActionsDescriptor Freeze ( Func < FreezeLifecycleActionDescriptor , IFreezeLifecycleAction > selector ) =>
194
218
Assign ( "freeze" , selector . InvokeOrDefault ( new FreezeLifecycleActionDescriptor ( ) ) ) ;
195
219
220
+ /// <inheritdoc cref="IReadOnlyLifecycleAction"/>
196
221
public LifecycleActionsDescriptor ReadOnly ( Func < ReadOnlyLifecycleActionDescriptor , IReadOnlyLifecycleAction > selector ) =>
197
222
Assign ( "readonly" , selector . InvokeOrDefault ( new ReadOnlyLifecycleActionDescriptor ( ) ) ) ;
198
223
224
+ /// <inheritdoc cref="IRolloverLifecycleAction"/>
199
225
public LifecycleActionsDescriptor Rollover ( Func < RolloverLifecycleActionDescriptor , IRolloverLifecycleAction > selector ) =>
200
226
Assign ( "rollover" , selector . InvokeOrDefault ( new RolloverLifecycleActionDescriptor ( ) ) ) ;
201
227
228
+ /// <inheritdoc cref="ISetPriorityLifecycleAction"/>
202
229
public LifecycleActionsDescriptor SetPriority ( Func < SetPriorityLifecycleActionDescriptor , ISetPriorityLifecycleAction > selector ) =>
203
230
Assign ( "set_priority" , selector . InvokeOrDefault ( new SetPriorityLifecycleActionDescriptor ( ) ) ) ;
204
231
232
+ /// <inheritdoc cref="IShrinkLifecycleAction"/>
205
233
public LifecycleActionsDescriptor Shrink ( Func < ShrinkLifecycleActionDescriptor , IShrinkLifecycleAction > selector ) =>
206
234
Assign ( "shrink" , selector . InvokeOrDefault ( new ShrinkLifecycleActionDescriptor ( ) ) ) ;
207
235
236
+ /// <inheritdoc cref="IUnfollowLifecycleAction"/>
208
237
public LifecycleActionsDescriptor Unfollow ( Func < UnfollowLifecycleActionDescriptor , IUnfollowLifecycleAction > selector ) =>
209
238
Assign ( "unfollow" , selector . InvokeOrDefault ( new UnfollowLifecycleActionDescriptor ( ) ) ) ;
239
+
240
+ /// <inheritdoc cref="IWaitForSnapshotLifecycleAction"/>
241
+ public LifecycleActionsDescriptor WaitForSnapshot ( Func < WaitForSnapshotLifecycleActionDescriptor , IWaitForSnapshotLifecycleAction > selector ) =>
242
+ Assign ( "wait_for_snapshot" , selector . InvokeOrDefault ( new WaitForSnapshotLifecycleActionDescriptor ( ) ) ) ;
210
243
}
211
244
}
0 commit comments