From 1836876a45400a4327f88c2ec2bc1260789dd52d Mon Sep 17 00:00:00 2001 From: Thomas Farr Date: Mon, 11 Sep 2023 12:02:32 +1200 Subject: [PATCH] Generate missing cluster weighted routing & decommission awareness operations Signed-off-by: Thomas Farr --- .../Configuration/CodeConfiguration.cs | 15 +- .../RequestParameters.Cluster.cs | 48 ++++ .../OpenSearchLowLevelClient.Cluster.cs | 205 ++++++++++++++++++ 3 files changed, 254 insertions(+), 14 deletions(-) diff --git a/src/ApiGenerator/Configuration/CodeConfiguration.cs b/src/ApiGenerator/Configuration/CodeConfiguration.cs index 2a65bbb977..d23e4799f9 100644 --- a/src/ApiGenerator/Configuration/CodeConfiguration.cs +++ b/src/ApiGenerator/Configuration/CodeConfiguration.cs @@ -42,20 +42,7 @@ public static class CodeConfiguration new("{create,delete}_pit"), new("{delete,get}_all_pits"), - new("cluster.allocation_explain"), - new("cluster.delete_voting_config_exclusions"), - new("cluster.get_settings"), - new("cluster.health"), - new("cluster.pending_tasks"), - new("cluster.post_voting_config_exclusions"), - new("cluster.put_settings"), - new("cluster.remote_info"), - new("cluster.reroute"), - new("cluster.state"), - new("cluster.stats"), - - new("cluster.*_component_template"), - + new("cluster.*"), new("dangling_indices.*"), new("ingest.*"), new("nodes.*"), diff --git a/src/OpenSearch.Net/_Generated/Api/RequestParameters/RequestParameters.Cluster.cs b/src/OpenSearch.Net/_Generated/Api/RequestParameters/RequestParameters.Cluster.cs index 088c64487c..b3988105ba 100644 --- a/src/OpenSearch.Net/_Generated/Api/RequestParameters/RequestParameters.Cluster.cs +++ b/src/OpenSearch.Net/_Generated/Api/RequestParameters/RequestParameters.Cluster.cs @@ -107,6 +107,14 @@ public TimeSpan Timeout } } + /// Request options for DeleteDecommissionAwareness https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + public partial class DeleteDecommissionAwarenessRequestParameters + : RequestParameters + { + public override HttpMethod DefaultHttpMethod => HttpMethod.DELETE; + public override bool SupportsBody => false; + } + /// Request options for DeleteVotingConfigExclusions https://opensearch.org/docs/latest public partial class DeleteVotingConfigExclusionsRequestParameters : RequestParameters @@ -122,6 +130,14 @@ public bool? WaitForRemoval } } + /// Request options for DeleteWeightedRouting https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-deleting-weights + public partial class DeleteWeightedRoutingRequestParameters + : RequestParameters + { + public override HttpMethod DefaultHttpMethod => HttpMethod.DELETE; + public override bool SupportsBody => false; + } + /// Request options for ComponentTemplateExists https://opensearch.org/docs/latest public partial class ComponentTemplateExistsRequestParameters : RequestParameters @@ -188,6 +204,14 @@ public TimeSpan MasterTimeout } } + /// Request options for GetDecommissionAwareness https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-getting-zone-decommission-status + public partial class GetDecommissionAwarenessRequestParameters + : RequestParameters + { + public override HttpMethod DefaultHttpMethod => HttpMethod.GET; + public override bool SupportsBody => false; + } + /// Request options for GetSettings https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-settings/ public partial class ClusterGetSettingsRequestParameters : RequestParameters @@ -235,6 +259,14 @@ public TimeSpan Timeout } } + /// Request options for GetWeightedRouting https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-getting-weights-for-all-zones + public partial class GetWeightedRoutingRequestParameters + : RequestParameters + { + public override HttpMethod DefaultHttpMethod => HttpMethod.GET; + public override bool SupportsBody => false; + } + /// Request options for Health https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-health/ public partial class ClusterHealthRequestParameters : RequestParameters @@ -443,6 +475,14 @@ public TimeSpan Timeout } } + /// Request options for PutDecommissionAwareness https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + public partial class PutDecommissionAwarenessRequestParameters + : RequestParameters + { + public override HttpMethod DefaultHttpMethod => HttpMethod.PUT; + public override bool SupportsBody => false; + } + /// Request options for PutSettings https://opensearch.org/docs/latest/api-reference/cluster-settings/ public partial class ClusterPutSettingsRequestParameters : RequestParameters @@ -483,6 +523,14 @@ public TimeSpan Timeout } } + /// Request options for PutWeightedRouting https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-weighted-round-robin-search + public partial class PutWeightedRoutingRequestParameters + : RequestParameters + { + public override HttpMethod DefaultHttpMethod => HttpMethod.PUT; + public override bool SupportsBody => false; + } + /// Request options for RemoteInfo https://opensearch.org/docs/latest/api-reference/remote-info/ public partial class RemoteInfoRequestParameters : RequestParameters diff --git a/src/OpenSearch.Net/_Generated/OpenSearchLowLevelClient.Cluster.cs b/src/OpenSearch.Net/_Generated/OpenSearchLowLevelClient.Cluster.cs index 6641635b47..79f2342a60 100644 --- a/src/OpenSearch.Net/_Generated/OpenSearchLowLevelClient.Cluster.cs +++ b/src/OpenSearch.Net/_Generated/OpenSearchLowLevelClient.Cluster.cs @@ -135,6 +135,35 @@ public Task DeleteComponentTemplateAsync( RequestParams(requestParameters) ); + /// DELETE on /_cluster/decommission/awareness/ https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + /// Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse DeleteDecommissionAwareness( + DeleteDecommissionAwarenessRequestParameters requestParameters = null + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequest( + DELETE, + "_cluster/decommission/awareness/", + null, + RequestParams(requestParameters) + ); + + /// DELETE on /_cluster/decommission/awareness/ https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + /// Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("cluster.delete_decommission_awareness", "")] + public Task DeleteDecommissionAwarenessAsync( + DeleteDecommissionAwarenessRequestParameters requestParameters = null, + CancellationToken ctx = default + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequestAsync( + DELETE, + "_cluster/decommission/awareness/", + ctx, + null, + RequestParams(requestParameters) + ); + /// DELETE on /_cluster/voting_config_exclusions https://opensearch.org/docs/latest /// Request specific configuration such as querystring parameters & request specific connection settings. public TResponse DeleteVotingConfigExclusions( @@ -164,6 +193,35 @@ public Task DeleteVotingConfigExclusionsAsync( RequestParams(requestParameters) ); + /// DELETE on /_cluster/routing/awareness/weights https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-deleting-weights + /// Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse DeleteWeightedRouting( + DeleteWeightedRoutingRequestParameters requestParameters = null + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequest( + DELETE, + "_cluster/routing/awareness/weights", + null, + RequestParams(requestParameters) + ); + + /// DELETE on /_cluster/routing/awareness/weights https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-deleting-weights + /// Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("cluster.delete_weighted_routing", "")] + public Task DeleteWeightedRoutingAsync( + DeleteWeightedRoutingRequestParameters requestParameters = null, + CancellationToken ctx = default + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequestAsync( + DELETE, + "_cluster/routing/awareness/weights", + ctx, + null, + RequestParams(requestParameters) + ); + /// HEAD on /_component_template/{name} https://opensearch.org/docs/latest /// The name of the template. /// Request specific configuration such as querystring parameters & request specific connection settings. @@ -259,6 +317,43 @@ public Task GetComponentTemplateAsync( RequestParams(requestParameters) ); + /// GET on /_cluster/decommission/awareness/{awareness_attribute_name}/_status https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-getting-zone-decommission-status + /// Awareness attribute name. + /// Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse GetDecommissionAwareness( + string awarenessAttributeName, + GetDecommissionAwarenessRequestParameters requestParameters = null + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequest( + GET, + Url( + $"_cluster/decommission/awareness/{awarenessAttributeName:awarenessAttributeName}/_status" + ), + null, + RequestParams(requestParameters) + ); + + /// GET on /_cluster/decommission/awareness/{awareness_attribute_name}/_status https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-getting-zone-decommission-status + /// Awareness attribute name. + /// Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("cluster.get_decommission_awareness", "awareness_attribute_name")] + public Task GetDecommissionAwarenessAsync( + string awarenessAttributeName, + GetDecommissionAwarenessRequestParameters requestParameters = null, + CancellationToken ctx = default + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequestAsync( + GET, + Url( + $"_cluster/decommission/awareness/{awarenessAttributeName:awarenessAttributeName}/_status" + ), + ctx, + null, + RequestParams(requestParameters) + ); + /// GET on /_cluster/settings https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-settings/ /// Request specific configuration such as querystring parameters & request specific connection settings. public TResponse GetSettings( @@ -283,6 +378,39 @@ public Task GetSettingsAsync( RequestParams(requestParameters) ); + /// GET on /_cluster/routing/awareness/{attribute}/weights https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-getting-weights-for-all-zones + /// Awareness attribute name. + /// Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse GetWeightedRouting( + string attribute, + GetWeightedRoutingRequestParameters requestParameters = null + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequest( + GET, + Url($"_cluster/routing/awareness/{attribute:attribute}/weights"), + null, + RequestParams(requestParameters) + ); + + /// GET on /_cluster/routing/awareness/{attribute}/weights https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-getting-weights-for-all-zones + /// Awareness attribute name. + /// Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("cluster.get_weighted_routing", "attribute")] + public Task GetWeightedRoutingAsync( + string attribute, + GetWeightedRoutingRequestParameters requestParameters = null, + CancellationToken ctx = default + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequestAsync( + GET, + Url($"_cluster/routing/awareness/{attribute:attribute}/weights"), + ctx, + null, + RequestParams(requestParameters) + ); + /// GET on /_cluster/health https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-health/ /// Request specific configuration such as querystring parameters & request specific connection settings. public TResponse Health(ClusterHealthRequestParameters requestParameters = null) @@ -433,6 +561,50 @@ public Task PutComponentTemplateAsync( RequestParams(requestParameters) ); + /// PUT on /_cluster/decommission/awareness/{awareness_attribute_name}/{awareness_attribute_value} https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + /// Awareness attribute name. + /// Awareness attribute value. + /// Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse PutDecommissionAwareness( + string awarenessAttributeName, + string awarenessAttributeValue, + PutDecommissionAwarenessRequestParameters requestParameters = null + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequest( + PUT, + Url( + $"_cluster/decommission/awareness/{awarenessAttributeName:awarenessAttributeName}/{awarenessAttributeValue:awarenessAttributeValue}" + ), + null, + RequestParams(requestParameters) + ); + + /// PUT on /_cluster/decommission/awareness/{awareness_attribute_name}/{awareness_attribute_value} https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + /// Awareness attribute name. + /// Awareness attribute value. + /// Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi( + "cluster.put_decommission_awareness", + "awareness_attribute_name, awareness_attribute_value" + )] + public Task PutDecommissionAwarenessAsync( + string awarenessAttributeName, + string awarenessAttributeValue, + PutDecommissionAwarenessRequestParameters requestParameters = null, + CancellationToken ctx = default + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequestAsync( + PUT, + Url( + $"_cluster/decommission/awareness/{awarenessAttributeName:awarenessAttributeName}/{awarenessAttributeValue:awarenessAttributeValue}" + ), + ctx, + null, + RequestParams(requestParameters) + ); + /// PUT on /_cluster/settings https://opensearch.org/docs/latest/api-reference/cluster-settings/ /// The settings to be updated. Can be either `transient` or `persistent` (survives cluster restart). /// Request specific configuration such as querystring parameters & request specific connection settings. @@ -461,6 +633,39 @@ public Task PutSettingsAsync( RequestParams(requestParameters) ); + /// PUT on /_cluster/routing/awareness/{attribute}/weights https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-weighted-round-robin-search + /// Awareness attribute name. + /// Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse PutWeightedRouting( + string attribute, + PutWeightedRoutingRequestParameters requestParameters = null + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequest( + PUT, + Url($"_cluster/routing/awareness/{attribute:attribute}/weights"), + null, + RequestParams(requestParameters) + ); + + /// PUT on /_cluster/routing/awareness/{attribute}/weights https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-weighted-round-robin-search + /// Awareness attribute name. + /// Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("cluster.put_weighted_routing", "attribute")] + public Task PutWeightedRoutingAsync( + string attribute, + PutWeightedRoutingRequestParameters requestParameters = null, + CancellationToken ctx = default + ) + where TResponse : class, IOpenSearchResponse, new() => + DoRequestAsync( + PUT, + Url($"_cluster/routing/awareness/{attribute:attribute}/weights"), + ctx, + null, + RequestParams(requestParameters) + ); + /// GET on /_remote/info https://opensearch.org/docs/latest/api-reference/remote-info/ /// Request specific configuration such as querystring parameters & request specific connection settings. public TResponse RemoteInfo(RemoteInfoRequestParameters requestParameters = null)