Skip to content

Commit e4eb043

Browse files
committed
Implement disable_chucked_encoding s3 repository setting.
1 parent 209fc0e commit e4eb043

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/Nest/Modules/SnapshotAndRestore/Repositories/S3Repository.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,15 @@ public interface IS3RepositorySettings : IRepositorySettings
100100
/// </summary>
101101
[DataMember(Name = "path_style_access")]
102102
bool? PathStyleAccess { get; set; }
103+
104+
/// <summary>
105+
/// Whether chunked encoding should be disabled or not. If false, chunked encoding is enabled and will be used where appropriate.
106+
/// If true, chunked encoding is disabled and will not be used, which may mean that snapshot operations consume more resources
107+
/// and take longer to complete. It should only be set to true if you are using a storage service that does not support chunked
108+
/// encoding. Defaults to false.
109+
/// </summary>
110+
[DataMember(Name = "disable_chunked_encoding")]
111+
bool? DisableChunkedEncoding { get; set; }
103112
}
104113

105114
/// <inheritdoc />
@@ -138,6 +147,9 @@ internal S3RepositorySettings() { }
138147

139148
/// <inheritdoc />
140149
public bool? PathStyleAccess { get; set; }
150+
151+
/// <inheritdoc />
152+
public bool? DisableChunkedEncoding { get; set; }
141153
}
142154

143155
/// <inheritdoc cref="IS3RepositorySettings"/>
@@ -156,6 +168,7 @@ public class S3RepositorySettingsDescriptor
156168
bool? IS3RepositorySettings.ServerSideEncryption { get; set; }
157169
string IS3RepositorySettings.StorageClass { get; set; }
158170
bool? IS3RepositorySettings.PathStyleAccess { get; set; }
171+
bool? IS3RepositorySettings.DisableChunkedEncoding { get; set; }
159172

160173
/// <inheritdoc cref="IS3RepositorySettings.Bucket" />
161174
public S3RepositorySettingsDescriptor Bucket(string bucket) => Assign(bucket, (a, v) => a.Bucket = v);
@@ -188,6 +201,10 @@ public S3RepositorySettingsDescriptor ServerSideEncryption(bool? serverSideEncry
188201
/// <inheritdoc cref="IS3RepositorySettings.PathStyleAccess" />
189202
public S3RepositorySettingsDescriptor PathStyleAccess(bool? pathStyleAccess = true) =>
190203
Assign(pathStyleAccess, (a, v) => a.PathStyleAccess = v);
204+
205+
/// <inheritdoc cref="IS3RepositorySettings.DisableChunkedEncoding" />
206+
public S3RepositorySettingsDescriptor DisableChunkedEncoding(bool? disableChunkedEncoding = true) =>
207+
Assign(disableChunkedEncoding, (a, v) => a.DisableChunkedEncoding = v);
191208
}
192209

193210
/// <inheritdoc cref="IS3Repository"/>

0 commit comments

Comments
 (0)