Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/Nest/XPack/Ilm/LifecycleActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public LifecycleActions(Dictionary<string, ILifecycleAction> container)
public void Add(IFreezeLifecycleAction action) => BackingDictionary.Add("freeze", action);
public void Add(IReadOnlyLifecycleAction action) => BackingDictionary.Add("readonly", action);
public void Add(IRolloverLifecycleAction action) => BackingDictionary.Add("rollover", action);
public void Add(ISetPriorityLifecycleAction action) => BackingDictionary.Add("setpriority", action);
public void Add(ISetPriorityLifecycleAction action) => BackingDictionary.Add("set_priority", action);
public void Add(IShrinkLifecycleAction action) => BackingDictionary.Add("shrink", action);
public void Add(IUnfollowLifecycleAction action) => BackingDictionary.Add("unfollow", action);
}
Expand Down Expand Up @@ -122,7 +122,7 @@ public LifecycleActionsDescriptor Rollover(Func<RolloverLifecycleActionDescripto
Assign("rollover", selector.InvokeOrDefault(new RolloverLifecycleActionDescriptor()));

public LifecycleActionsDescriptor SetPriority(Func<SetPriorityLifecycleActionDescriptor, ISetPriorityLifecycleAction> selector) =>
Assign("setpriority", selector.InvokeOrDefault(new SetPriorityLifecycleActionDescriptor()));
Assign("set_priority", selector.InvokeOrDefault(new SetPriorityLifecycleActionDescriptor()));

public LifecycleActionsDescriptor Shrink(Func<ShrinkLifecycleActionDescriptor, IShrinkLifecycleAction> selector) =>
Assign("shrink", selector.InvokeOrDefault(new ShrinkLifecycleActionDescriptor()));
Expand Down
10 changes: 10 additions & 0 deletions src/Nest/XPack/Ilm/MoveToStep/MoveToStepRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ public partial interface IMoveToStepRequest
IStepKey NextStep { get; set; }
}

[JsonConverter(typeof(ReadAsTypeJsonConverter<StepKey>))]
public interface IStepKey
{
[JsonProperty("phase")]
Expand All @@ -24,6 +25,15 @@ public interface IStepKey
string Name { get; set; }
}

public class StepKey : IStepKey
{
public string Phase { get; set; }

public string Action { get; set; }

public string Name { get; set; }
}

public partial class MoveToStepRequest
{
public IStepKey CurrentStep { get; set; }
Expand Down
12 changes: 5 additions & 7 deletions src/Nest/XPack/Ilm/Phases.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,23 @@ public class Phases : IPhases
public IPhase Delete { get; set; }
}

public class PhasesDescriptor : IDescriptor, IPhases
public class PhasesDescriptor : DescriptorBase<PhasesDescriptor, IPhases>, IPhases
{
IPhase IPhases.Warm { get; set; }
IPhase IPhases.Hot { get; set; }
IPhase IPhases.Cold { get; set; }
IPhase IPhases.Delete { get; set; }

private PhasesDescriptor Assign<TValue>(TValue value, Action<IPhases, TValue> assigner) => Fluent.Assign(this, value, assigner);

public PhasesDescriptor Warm(Func<PhaseDescriptor, IPhase> selector) =>
Assign(selector, (a, v) => a.Warm = v?.InvokeOrDefault(new PhaseDescriptor()));
Assign(selector, (a, v) => a.Warm = v.InvokeOrDefault(new PhaseDescriptor()));

public PhasesDescriptor Hot(Func<PhaseDescriptor, IPhase> selector) =>
Assign(selector, (a, v) => a.Hot = v?.InvokeOrDefault(new PhaseDescriptor()));
Assign(selector, (a, v) => a.Hot = v.InvokeOrDefault(new PhaseDescriptor()));

public PhasesDescriptor Cold(Func<PhaseDescriptor, IPhase> selector) =>
Assign(selector, (a, v) => a.Cold = v?.InvokeOrDefault(new PhaseDescriptor()));
Assign(selector, (a, v) => a.Cold = v.InvokeOrDefault(new PhaseDescriptor()));

public PhasesDescriptor Delete(Func<PhaseDescriptor, IPhase> selector) =>
Assign(selector, (a, v) => a.Delete = v?.InvokeOrDefault(new PhaseDescriptor()));
Assign(selector, (a, v) => a.Delete = v.InvokeOrDefault(new PhaseDescriptor()));
}
}
6 changes: 2 additions & 4 deletions src/Nest/XPack/Ilm/Policy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@ public class Policy : IPolicy
public IPhases Phases { get; set; }
}

public class PolicyDescriptor : IDescriptor, IPolicy
public class PolicyDescriptor : DescriptorBase<PolicyDescriptor, IPolicy>, IPolicy
{
IPhases IPolicy.Phases { get; set; }

private PolicyDescriptor Assign<TValue>(TValue value, Action<IPolicy, TValue> assigner) => Fluent.Assign(this, value, assigner);

public PolicyDescriptor Phases(Func<PhasesDescriptor, IPhases> selector) =>
Assign(selector, (a, v) => a.Phases = v?.InvokeOrDefault(new PhasesDescriptor()));
Assign(selector, (a, v) => a.Phases = v.InvokeOrDefault(new PhasesDescriptor()));
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;

namespace Nest
{
[JsonConverter(typeof(ReadAsTypeJsonConverter<ApiKeyPrivileges>))]
public interface IApiKeyPrivileges
{
/// <summary>
/// A list of names.
/// </summary>
[JsonProperty("names")]
IEnumerable<string> Names { get; set; }

/// <summary>
/// A list of privileges.
/// </summary>
[JsonProperty("privileges")]
IEnumerable<string> Privileges { get; set; }
}

Expand Down
1 change: 1 addition & 0 deletions src/Nest/XPack/Security/ApiKey/CreateApiKey/ApiKeyRole.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

namespace Nest
{
[JsonConverter(typeof(ReadAsTypeJsonConverter<ApiKeyRole>))]
public interface IApiKeyRole
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ public partial class CreateApiKeyDescriptor

/// <inheritdoc cref="ICreateApiKeyRequest.Roles" />
public CreateApiKeyDescriptor Roles(Func<ApiKeyRolesDescriptor, IPromise<IApiKeyRoles>> selector) =>
Assign(selector,
(a, v) => a.Roles = v?.Invoke(new ApiKeyRolesDescriptor())?.Value ?? new ApiKeyRoles()); // Ensure not null, as server expects {}
Assign(selector, (a, v) => a.Roles = v.InvokeOrDefault(new ApiKeyRolesDescriptor()).Value);
}
}
15 changes: 7 additions & 8 deletions src/Nest/XPack/Security/ApiKey/GetApiKey/GetApiKeyResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,44 +25,43 @@ public class ApiKeys
/// Id for the API key
/// </summary>
[JsonProperty("id")]
public string Id { get; set; }
public string Id { get; internal set; }

/// <summary>
/// Name of the API key
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
public string Name { get; internal set; }

/// <summary>
/// Creation time for the API key
/// </summary>
[JsonProperty("creation")]
[JsonConverter(typeof(EpochMillisecondsDateTimeJsonConverter))]
public DateTimeOffset Creation { get; set; }
public DateTimeOffset Creation { get; internal set; }

/// <summary>
/// Optional expiration time for the API key in milliseconds
/// </summary>
[JsonProperty("expiration")]
[JsonConverter(typeof(EpochMillisecondsDateTimeJsonConverter))]
public DateTimeOffset? Expiration { get; set; }
public DateTimeOffset? Expiration { get; internal set; }

/// <summary>
/// Invalidation status for the API key. If the key has been invalidated, it has a value of true. Otherwise, it is false.
/// </summary>
[JsonProperty("invalidated")]
public bool Invalidated { get; set; }
public bool Invalidated { get; internal set; }

/// <summary>
/// Principal for which this API key was created
/// </summary>
[JsonProperty("username")]
public string Username { get; set; }

public string Username { get; internal set; }
/// <summary>
/// Realm name of the principal for which this API key was created
/// </summary>
[JsonProperty("realm")]
public string Realm { get; set; }
public string Realm { get; internal set; }
}
}