Skip to content

Commit 494e4d4

Browse files
authored
update low lowlevel client with latest changes from 7.10 (#5079)
1 parent 6b4fab7 commit 494e4d4

File tree

4 files changed

+74
-1
lines changed

4 files changed

+74
-1
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"snapshot.clone":{
3+
"documentation":{
4+
"url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
5+
"description":"Clones indices from one snapshot into another snapshot in the same repository."
6+
},
7+
"stability":"stable",
8+
"url":{
9+
"paths":[
10+
{
11+
"path":"/_snapshot/{repository}/{snapshot}/_clone/{target_snapshot}",
12+
"methods":[
13+
"PUT"
14+
],
15+
"parts":{
16+
"repository":{
17+
"type":"string",
18+
"description":"A repository name"
19+
},
20+
"snapshot":{
21+
"type":"string",
22+
"description":"The name of the snapshot to clone from"
23+
},
24+
"target_snapshot":{
25+
"type":"string",
26+
"description":"The name of the cloned snapshot to create"
27+
}
28+
}
29+
}
30+
]
31+
},
32+
"params":{
33+
"master_timeout":{
34+
"type":"time",
35+
"description":"Explicit operation timeout for connection to master node"
36+
}
37+
},
38+
"body":{
39+
"description":"The snapshot clone definition",
40+
"required":true
41+
}
42+
}
43+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.10
1+
6be4acd5094954851a956dd93d8c4043979011d9

src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,19 @@ public TimeSpan Timeout
4444
}
4545
}
4646

47+
///<summary>Request options for Clone <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html</para></summary>
48+
public class CloneRequestParameters : RequestParameters<CloneRequestParameters>
49+
{
50+
public override HttpMethod DefaultHttpMethod => HttpMethod.PUT;
51+
public override bool SupportsBody => true;
52+
///<summary>Explicit operation timeout for connection to master node</summary>
53+
public TimeSpan MasterTimeout
54+
{
55+
get => Q<TimeSpan>("master_timeout");
56+
set => Q("master_timeout", value);
57+
}
58+
}
59+
4760
///<summary>Request options for Snapshot <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html</para></summary>
4861
public class SnapshotRequestParameters : RequestParameters<SnapshotRequestParameters>
4962
{

src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,23 @@ public TResponse CleanupRepository<TResponse>(string repository, PostData body,
5656
[MapsApi("snapshot.cleanup_repository", "repository, body")]
5757
public Task<TResponse> CleanupRepositoryAsync<TResponse>(string repository, PostData body, CleanupRepositoryRequestParameters requestParameters = null, CancellationToken ctx = default)
5858
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(POST, Url($"_snapshot/{repository:repository}/_cleanup"), ctx, body, RequestParams(requestParameters));
59+
///<summary>PUT on /_snapshot/{repository}/{snapshot}/_clone/{target_snapshot} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html</para></summary>
60+
///<param name = "repository">A repository name</param>
61+
///<param name = "snapshot">The name of the snapshot to clone from</param>
62+
///<param name = "targetSnapshot">The name of the cloned snapshot to create</param>
63+
///<param name = "body">The snapshot clone definition</param>
64+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
65+
public TResponse Clone<TResponse>(string repository, string snapshot, string targetSnapshot, PostData body, CloneRequestParameters requestParameters = null)
66+
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(PUT, Url($"_snapshot/{repository:repository}/{snapshot:snapshot}/_clone/{targetSnapshot:targetSnapshot}"), body, RequestParams(requestParameters));
67+
///<summary>PUT on /_snapshot/{repository}/{snapshot}/_clone/{target_snapshot} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html</para></summary>
68+
///<param name = "repository">A repository name</param>
69+
///<param name = "snapshot">The name of the snapshot to clone from</param>
70+
///<param name = "targetSnapshot">The name of the cloned snapshot to create</param>
71+
///<param name = "body">The snapshot clone definition</param>
72+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
73+
[MapsApi("snapshot.clone", "repository, snapshot, target_snapshot, body")]
74+
public Task<TResponse> CloneAsync<TResponse>(string repository, string snapshot, string targetSnapshot, PostData body, CloneRequestParameters requestParameters = null, CancellationToken ctx = default)
75+
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(PUT, Url($"_snapshot/{repository:repository}/{snapshot:snapshot}/_clone/{targetSnapshot:targetSnapshot}"), ctx, body, RequestParams(requestParameters));
5976
///<summary>PUT on /_snapshot/{repository}/{snapshot} <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html</para></summary>
6077
///<param name = "repository">A repository name</param>
6178
///<param name = "snapshot">A snapshot name</param>

0 commit comments

Comments
 (0)