Skip to content

[Backport 8.4] Add support for update aliases endpoint. #7384

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 15, 2023
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
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ internal static class ApiUrlsLookups
internal static ApiUrls IndexManagementSimulateIndexTemplate = new ApiUrls(new[] { "/_index_template/_simulate_index/{name}" });
internal static ApiUrls IndexManagementSimulateTemplate = new ApiUrls(new[] { "/_index_template/_simulate", "/_index_template/_simulate/{name}" });
internal static ApiUrls IndexManagementSplit = new ApiUrls(new[] { "/{index}/_split/{target}" });
internal static ApiUrls IndexManagementUpdateAliases = new ApiUrls(new[] { "/_aliases" });
internal static ApiUrls NoNamespaceIndex = new ApiUrls(new[] { "/{index}/_doc/{id}", "/{index}/_doc" });
internal static ApiUrls NoNamespaceInfo = new ApiUrls(new[] { "/" });
internal static ApiUrls NoNamespaceMget = new ApiUrls(new[] { "/_mget", "/{index}/_mget" });
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information.
//
// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
// ------------------------------------------------
//
// This file is automatically generated.
// Please do not edit these files manually.
//
// ------------------------------------------------

using Elastic.Clients.Elasticsearch.Fluent;
using Elastic.Clients.Elasticsearch.Requests;
using Elastic.Clients.Elasticsearch.Serialization;
using Elastic.Transport;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text.Json;
using System.Text.Json.Serialization;

#nullable restore
namespace Elastic.Clients.Elasticsearch.IndexManagement;
public sealed class UpdateAliasesRequestParameters : RequestParameters
{
[JsonIgnore]
public Elastic.Clients.Elasticsearch.Duration? MasterTimeout { get => Q<Elastic.Clients.Elasticsearch.Duration?>("master_timeout"); set => Q("master_timeout", value); }

[JsonIgnore]
public Elastic.Clients.Elasticsearch.Duration? Timeout { get => Q<Elastic.Clients.Elasticsearch.Duration?>("timeout"); set => Q("timeout", value); }
}

public sealed partial class UpdateAliasesRequest : PlainRequest<UpdateAliasesRequestParameters>
{
internal override ApiUrls ApiUrls => ApiUrlsLookups.IndexManagementUpdateAliases;
protected override HttpMethod StaticHttpMethod => HttpMethod.POST;
internal override bool SupportsBody => true;
[JsonIgnore]
public Elastic.Clients.Elasticsearch.Duration? MasterTimeout { get => Q<Elastic.Clients.Elasticsearch.Duration?>("master_timeout"); set => Q("master_timeout", value); }

[JsonIgnore]
public Elastic.Clients.Elasticsearch.Duration? Timeout { get => Q<Elastic.Clients.Elasticsearch.Duration?>("timeout"); set => Q("timeout", value); }

[JsonInclude, JsonPropertyName("actions")]
public ICollection<Elastic.Clients.Elasticsearch.IndexManagement.Action>? Actions { get; set; }
}

public sealed partial class UpdateAliasesRequestDescriptor<TDocument> : RequestDescriptor<UpdateAliasesRequestDescriptor<TDocument>, UpdateAliasesRequestParameters>
{
internal UpdateAliasesRequestDescriptor(Action<UpdateAliasesRequestDescriptor<TDocument>> configure) => configure.Invoke(this);
public UpdateAliasesRequestDescriptor()
{
}

internal override ApiUrls ApiUrls => ApiUrlsLookups.IndexManagementUpdateAliases;
protected override HttpMethod StaticHttpMethod => HttpMethod.POST;
internal override bool SupportsBody => true;
public UpdateAliasesRequestDescriptor<TDocument> MasterTimeout(Elastic.Clients.Elasticsearch.Duration? masterTimeout) => Qs("master_timeout", masterTimeout);
public UpdateAliasesRequestDescriptor<TDocument> Timeout(Elastic.Clients.Elasticsearch.Duration? timeout) => Qs("timeout", timeout);
private ICollection<Elastic.Clients.Elasticsearch.IndexManagement.Action>? ActionsValue { get; set; }

private ActionDescriptor ActionsDescriptor { get; set; }

private Action<ActionDescriptor> ActionsDescriptorAction { get; set; }

private Action<ActionDescriptor>[] ActionsDescriptorActions { get; set; }

public UpdateAliasesRequestDescriptor<TDocument> Actions(ICollection<Elastic.Clients.Elasticsearch.IndexManagement.Action>? actions)
{
ActionsDescriptor = null;
ActionsDescriptorAction = null;
ActionsDescriptorActions = null;
ActionsValue = actions;
return Self;
}

public UpdateAliasesRequestDescriptor<TDocument> Actions(ActionDescriptor descriptor)
{
ActionsValue = null;
ActionsDescriptorAction = null;
ActionsDescriptorActions = null;
ActionsDescriptor = descriptor;
return Self;
}

public UpdateAliasesRequestDescriptor<TDocument> Actions(Action<ActionDescriptor> configure)
{
ActionsValue = null;
ActionsDescriptor = null;
ActionsDescriptorActions = null;
ActionsDescriptorAction = configure;
return Self;
}

public UpdateAliasesRequestDescriptor<TDocument> Actions(params Action<ActionDescriptor>[] configure)
{
ActionsValue = null;
ActionsDescriptor = null;
ActionsDescriptorAction = null;
ActionsDescriptorActions = configure;
return Self;
}

protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
{
writer.WriteStartObject();
if (ActionsDescriptor is not null)
{
writer.WritePropertyName("actions");
writer.WriteStartArray();
JsonSerializer.Serialize(writer, ActionsDescriptor, options);
writer.WriteEndArray();
}
else if (ActionsDescriptorAction is not null)
{
writer.WritePropertyName("actions");
writer.WriteStartArray();
JsonSerializer.Serialize(writer, new ActionDescriptor(ActionsDescriptorAction), options);
writer.WriteEndArray();
}
else if (ActionsDescriptorActions is not null)
{
writer.WritePropertyName("actions");
writer.WriteStartArray();
foreach (var action in ActionsDescriptorActions)
{
JsonSerializer.Serialize(writer, new ActionDescriptor(action), options);
}

writer.WriteEndArray();
}
else if (ActionsValue is not null)
{
writer.WritePropertyName("actions");
JsonSerializer.Serialize(writer, ActionsValue, options);
}

writer.WriteEndObject();
}
}

public sealed partial class UpdateAliasesRequestDescriptor : RequestDescriptor<UpdateAliasesRequestDescriptor, UpdateAliasesRequestParameters>
{
internal UpdateAliasesRequestDescriptor(Action<UpdateAliasesRequestDescriptor> configure) => configure.Invoke(this);
public UpdateAliasesRequestDescriptor()
{
}

internal override ApiUrls ApiUrls => ApiUrlsLookups.IndexManagementUpdateAliases;
protected override HttpMethod StaticHttpMethod => HttpMethod.POST;
internal override bool SupportsBody => true;
public UpdateAliasesRequestDescriptor MasterTimeout(Elastic.Clients.Elasticsearch.Duration? masterTimeout) => Qs("master_timeout", masterTimeout);
public UpdateAliasesRequestDescriptor Timeout(Elastic.Clients.Elasticsearch.Duration? timeout) => Qs("timeout", timeout);
private ICollection<Elastic.Clients.Elasticsearch.IndexManagement.Action>? ActionsValue { get; set; }

private ActionDescriptor ActionsDescriptor { get; set; }

private Action<ActionDescriptor> ActionsDescriptorAction { get; set; }

private Action<ActionDescriptor>[] ActionsDescriptorActions { get; set; }

public UpdateAliasesRequestDescriptor Actions(ICollection<Elastic.Clients.Elasticsearch.IndexManagement.Action>? actions)
{
ActionsDescriptor = null;
ActionsDescriptorAction = null;
ActionsDescriptorActions = null;
ActionsValue = actions;
return Self;
}

public UpdateAliasesRequestDescriptor Actions(ActionDescriptor descriptor)
{
ActionsValue = null;
ActionsDescriptorAction = null;
ActionsDescriptorActions = null;
ActionsDescriptor = descriptor;
return Self;
}

public UpdateAliasesRequestDescriptor Actions(Action<ActionDescriptor> configure)
{
ActionsValue = null;
ActionsDescriptor = null;
ActionsDescriptorActions = null;
ActionsDescriptorAction = configure;
return Self;
}

public UpdateAliasesRequestDescriptor Actions(params Action<ActionDescriptor>[] configure)
{
ActionsValue = null;
ActionsDescriptor = null;
ActionsDescriptorAction = null;
ActionsDescriptorActions = configure;
return Self;
}

protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
{
writer.WriteStartObject();
if (ActionsDescriptor is not null)
{
writer.WritePropertyName("actions");
writer.WriteStartArray();
JsonSerializer.Serialize(writer, ActionsDescriptor, options);
writer.WriteEndArray();
}
else if (ActionsDescriptorAction is not null)
{
writer.WritePropertyName("actions");
writer.WriteStartArray();
JsonSerializer.Serialize(writer, new ActionDescriptor(ActionsDescriptorAction), options);
writer.WriteEndArray();
}
else if (ActionsDescriptorActions is not null)
{
writer.WritePropertyName("actions");
writer.WriteStartArray();
foreach (var action in ActionsDescriptorActions)
{
JsonSerializer.Serialize(writer, new ActionDescriptor(action), options);
}

writer.WriteEndArray();
}
else if (ActionsValue is not null)
{
writer.WritePropertyName("actions");
JsonSerializer.Serialize(writer, ActionsValue, options);
}

writer.WriteEndObject();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information.
//
// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
// ------------------------------------------------
//
// This file is automatically generated.
// Please do not edit these files manually.
//
// ------------------------------------------------

using Elastic.Clients.Elasticsearch.Fluent;
using Elastic.Clients.Elasticsearch.Serialization;
using Elastic.Transport.Products.Elasticsearch;
using System.Collections.Generic;
using System.Text.Json.Serialization;

#nullable restore
namespace Elastic.Clients.Elasticsearch.IndexManagement;
public sealed partial class UpdateAliasesResponse : ElasticsearchResponse
{
[JsonInclude, JsonPropertyName("acknowledged")]
public bool Acknowledged { get; init; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -1975,4 +1975,62 @@ public virtual Task<SplitIndexResponse> SplitAsync<TDocument>(Elastic.Clients.El
descriptor.BeforeRequest();
return DoRequestAsync<SplitIndexRequestDescriptor<TDocument>, SplitIndexResponse, SplitIndexRequestParameters>(descriptor);
}

public virtual UpdateAliasesResponse UpdateAliases(UpdateAliasesRequest request)
{
request.BeforeRequest();
return DoRequest<UpdateAliasesRequest, UpdateAliasesResponse, UpdateAliasesRequestParameters>(request);
}

public virtual Task<UpdateAliasesResponse> UpdateAliasesAsync(UpdateAliasesRequest request, CancellationToken cancellationToken = default)
{
request.BeforeRequest();
return DoRequestAsync<UpdateAliasesRequest, UpdateAliasesResponse, UpdateAliasesRequestParameters>(request, cancellationToken);
}

public virtual UpdateAliasesResponse UpdateAliases()
{
var descriptor = new UpdateAliasesRequestDescriptor();
descriptor.BeforeRequest();
return DoRequest<UpdateAliasesRequestDescriptor, UpdateAliasesResponse, UpdateAliasesRequestParameters>(descriptor);
}

public virtual UpdateAliasesResponse UpdateAliases(Action<UpdateAliasesRequestDescriptor> configureRequest)
{
var descriptor = new UpdateAliasesRequestDescriptor();
configureRequest?.Invoke(descriptor);
descriptor.BeforeRequest();
return DoRequest<UpdateAliasesRequestDescriptor, UpdateAliasesResponse, UpdateAliasesRequestParameters>(descriptor);
}

public virtual UpdateAliasesResponse UpdateAliases<TDocument>(Action<UpdateAliasesRequestDescriptor<TDocument>> configureRequest)
{
var descriptor = new UpdateAliasesRequestDescriptor<TDocument>();
configureRequest?.Invoke(descriptor);
descriptor.BeforeRequest();
return DoRequest<UpdateAliasesRequestDescriptor<TDocument>, UpdateAliasesResponse, UpdateAliasesRequestParameters>(descriptor);
}

public virtual Task<UpdateAliasesResponse> UpdateAliasesAsync(CancellationToken cancellationToken = default)
{
var descriptor = new UpdateAliasesRequestDescriptor();
descriptor.BeforeRequest();
return DoRequestAsync<UpdateAliasesRequestDescriptor, UpdateAliasesResponse, UpdateAliasesRequestParameters>(descriptor);
}

public virtual Task<UpdateAliasesResponse> UpdateAliasesAsync(Action<UpdateAliasesRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
{
var descriptor = new UpdateAliasesRequestDescriptor();
configureRequest?.Invoke(descriptor);
descriptor.BeforeRequest();
return DoRequestAsync<UpdateAliasesRequestDescriptor, UpdateAliasesResponse, UpdateAliasesRequestParameters>(descriptor);
}

public virtual Task<UpdateAliasesResponse> UpdateAliasesAsync<TDocument>(Action<UpdateAliasesRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
{
var descriptor = new UpdateAliasesRequestDescriptor<TDocument>();
configureRequest?.Invoke(descriptor);
descriptor.BeforeRequest();
return DoRequestAsync<UpdateAliasesRequestDescriptor<TDocument>, UpdateAliasesResponse, UpdateAliasesRequestParameters>(descriptor);
}
}
Loading