public Task <TResponse> SnapshotAsync <TResponse>(string repository, string snapshot, PostData body, SnapshotRequestParameters requestParameters = null, CancellationToken ctx = default)
     where TResponse : class, IOpenSearchResponse, new() => DoRequestAsync <TResponse>(PUT, Url($"_snapshot/{repository:repository}/{snapshot:snapshot}"), ctx, body, RequestParams(requestParameters));
 ///<summary>PUT on /_snapshot/{repository}/{snapshot} <para>https://opensearch.org/docs/latest/opensearch/rest-api/cat/cat-snapshots/</para></summary>
 ///<param name = "repository">A repository name</param>
 ///<param name = "snapshot">A snapshot name</param>
 ///<param name = "body">The snapshot definition</param>
 ///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
 public TResponse Snapshot <TResponse>(string repository, string snapshot, PostData body, SnapshotRequestParameters requestParameters = null)
     where TResponse : class, IOpenSearchResponse, new() => DoRequest <TResponse>(PUT, Url($"_snapshot/{repository:repository}/{snapshot:snapshot}"), body, RequestParams(requestParameters));