azure_storage_blob/generated/models/method_options.rs
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3//
4// Code generated by Microsoft (R) Rust Code Generator. DO NOT EDIT.
5
6use super::{
7 AccessTier, BlobCopySourceTags, BlobDeleteType, DeleteSnapshotsOptionType,
8 EncryptionAlgorithmType, FileShareTokenIntent, FilterBlobsIncludeItem, ImmutabilityPolicyMode,
9 ListBlobsIncludeItem, ListContainersIncludeType, PremiumPageBlobAccessTier, PublicAccessType,
10 RehydratePriority,
11};
12use crate::models::HttpRange;
13use azure_core::{
14 fmt::SafeDebug,
15 http::{pager::PagerOptions, ClientMethodOptions, Etag},
16 time::OffsetDateTime,
17};
18use std::collections::HashMap;
19
20/// Options to be passed to `AppendBlobClient::append_block_from_url()`
21#[derive(Clone, Default, SafeDebug)]
22pub struct AppendBlobClientAppendBlockFromUrlOptions<'a> {
23 /// A byte offset where the operation will only succeed if the append position is equal. If not, the request will fail with
24 /// AppendPositionConditionNotMet.
25 pub append_position: Option<i64>,
26
27 /// Only the Bearer authorization scheme is supported, and the value must be a valid OAuth access token for the copy source.
28 pub copy_source_authorization: Option<String>,
29
30 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
31 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
32
33 /// Specifies the encryption key to use to encrypt the data provided in the request.
34 pub encryption_key: Option<String>,
35
36 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
37 pub encryption_key_sha256: Option<String>,
38
39 /// Specifies the encryption scope used to encrypt the data.
40 pub encryption_scope: Option<String>,
41
42 /// Specifies the file request token intent.
43 pub file_request_intent: Option<FileShareTokenIntent>,
44
45 /// Specify this value to operate only on a blob with a matching Etag value.
46 pub if_match: Option<Etag>,
47
48 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
49 pub if_modified_since: Option<OffsetDateTime>,
50
51 /// Specify this value to operate only on a blob with a non-matching Etag value.
52 pub if_none_match: Option<Etag>,
53
54 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
55 pub if_tags: Option<String>,
56
57 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
58 pub if_unmodified_since: Option<OffsetDateTime>,
59
60 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
61 pub lease_id: Option<String>,
62
63 /// The max length of the blob. If the operation would cause the blob to exceed that limit or if the blob size is already
64 /// greater than the value specified, the request will fail with MaxBlobSizeConditionNotMet.
65 pub max_size: Option<i64>,
66
67 /// Allows customization of the method call.
68 pub method_options: ClientMethodOptions<'a>,
69
70 /// Specifies the CRC64 calculated for the range of bytes that must be read from the source.
71 pub source_content_crc64: Option<Vec<u8>>,
72
73 /// Specifies the MD5 hash calculated for the range of bytes that must be read from the copy source.
74 pub source_content_md5: Option<Vec<u8>>,
75
76 /// The algorithm used to produce the source encryption key hash. Must be provided if the source encryption key is provided.
77 pub source_encryption_algorithm: Option<EncryptionAlgorithmType>,
78
79 /// Specifies the encryption key to use to decrypt the source data provided in the request.
80 pub source_encryption_key: Option<String>,
81
82 /// The SHA-256 hash of the provided source encryption key. Must be provided if the source encryption key is provided.
83 pub source_encryption_key_sha256: Option<String>,
84
85 /// Specify this value to operate only on a source blob with a matching Etag value.
86 pub source_if_match: Option<Etag>,
87
88 /// Specify this value to operate only on a source blob if it has been modified since the specified date-time.
89 pub source_if_modified_since: Option<OffsetDateTime>,
90
91 /// Specify this value to operate only on a source blob with a non-matching Etag value.
92 pub source_if_none_match: Option<Etag>,
93
94 /// Specify this header value to operate only on a blob if it has not been modified since the specified date-time.
95 pub source_if_unmodified_since: Option<OffsetDateTime>,
96
97 /// Specifies the bytes of the source.
98 pub source_range: Option<HttpRange>,
99
100 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
101 pub timeout: Option<i32>,
102
103 /// Specifies the transactional MD5 hash for the body.
104 pub transactional_content_md5: Option<Vec<u8>>,
105}
106
107/// Options to be passed to `AppendBlobClient::append_block()`
108#[derive(Clone, Default, SafeDebug)]
109pub struct AppendBlobClientAppendBlockOptions<'a> {
110 /// A byte offset where the operation will only succeed if the append position is equal. If not, the request will fail with
111 /// AppendPositionConditionNotMet.
112 pub append_position: Option<i64>,
113
114 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
115 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
116
117 /// Specifies the encryption key to use to encrypt the data provided in the request.
118 pub encryption_key: Option<String>,
119
120 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
121 pub encryption_key_sha256: Option<String>,
122
123 /// Specifies the encryption scope used to encrypt the data.
124 pub encryption_scope: Option<String>,
125
126 /// Specify this value to operate only on a blob with a matching Etag value.
127 pub if_match: Option<Etag>,
128
129 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
130 pub if_modified_since: Option<OffsetDateTime>,
131
132 /// Specify this value to operate only on a blob with a non-matching Etag value.
133 pub if_none_match: Option<Etag>,
134
135 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
136 pub if_tags: Option<String>,
137
138 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
139 pub if_unmodified_since: Option<OffsetDateTime>,
140
141 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
142 pub lease_id: Option<String>,
143
144 /// The max length of the blob. If the operation would cause the blob to exceed that limit or if the blob size is already
145 /// greater than the value specified, the request will fail with MaxBlobSizeConditionNotMet.
146 pub max_size: Option<i64>,
147
148 /// Allows customization of the method call.
149 pub method_options: ClientMethodOptions<'a>,
150
151 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
152 pub timeout: Option<i32>,
153
154 /// Specifies the transactional CRC64 hash for the body.
155 pub transactional_content_crc64: Option<Vec<u8>>,
156
157 /// Specifies the transactional MD5 hash for the body.
158 pub transactional_content_md5: Option<Vec<u8>>,
159}
160
161/// Options to be passed to `AppendBlobClient::create()`
162#[derive(Clone, Default, SafeDebug)]
163pub struct AppendBlobClientCreateOptions<'a> {
164 /// Specifies the blob's Cache-Control. If specified, this property is stored with the blob and returned with a read request.
165 pub blob_cache_control: Option<String>,
166
167 /// Specifies the blob's Content-Disposition. If specified, this property is stored with the blob and returned with a read
168 /// request.
169 pub blob_content_disposition: Option<String>,
170
171 /// Specifies the blob's Content-Encoding. If specified, this property is stored with the blob and returned with a read request.
172 pub blob_content_encoding: Option<String>,
173
174 /// Specifies the blob's Content-Language. If specified, this property is stored with the blob and returned with a read request.
175 pub blob_content_language: Option<String>,
176
177 /// The MD5 hash of the blob content that is stored as a property on the blob. Note: This hash is not validated.
178 pub blob_content_md5: Option<Vec<u8>>,
179
180 /// Specifies the blob's Content-Type. If specified, this property is stored with the blob and returned with a read request.
181 pub blob_content_type: Option<String>,
182
183 /// The blob tags.
184 pub blob_tags_string: Option<String>,
185
186 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
187 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
188
189 /// Specifies the encryption key to use to encrypt the data provided in the request.
190 pub encryption_key: Option<String>,
191
192 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
193 pub encryption_key_sha256: Option<String>,
194
195 /// Specifies the encryption scope used to encrypt the data.
196 pub encryption_scope: Option<String>,
197
198 /// Specify this value to operate only on a blob with a matching Etag value.
199 pub if_match: Option<Etag>,
200
201 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
202 pub if_modified_since: Option<OffsetDateTime>,
203
204 /// Specify this value to operate only on a blob with a non-matching Etag value.
205 pub if_none_match: Option<Etag>,
206
207 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
208 pub if_tags: Option<String>,
209
210 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
211 pub if_unmodified_since: Option<OffsetDateTime>,
212
213 /// The date-time that indicates the time at which the blob immutability policy will expire.
214 pub immutability_policy_expiry: Option<OffsetDateTime>,
215
216 /// Indicates the immutability policy mode of the blob.
217 pub immutability_policy_mode: Option<ImmutabilityPolicyMode>,
218
219 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
220 pub lease_id: Option<String>,
221
222 /// Indicates whether the blob has a legal hold.
223 pub legal_hold: Option<bool>,
224
225 /// The metadata headers.
226 pub metadata: Option<HashMap<String, String>>,
227
228 /// Allows customization of the method call.
229 pub method_options: ClientMethodOptions<'a>,
230
231 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
232 pub timeout: Option<i32>,
233}
234
235/// Options to be passed to `AppendBlobClient::seal()`
236#[derive(Clone, Default, SafeDebug)]
237pub struct AppendBlobClientSealOptions<'a> {
238 /// A byte offset where the operation will only succeed if the append position is equal. If not, the request will fail with
239 /// AppendPositionConditionNotMet.
240 pub append_position: Option<i64>,
241
242 /// Specify this value to operate only on a blob with a matching Etag value.
243 pub if_match: Option<Etag>,
244
245 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
246 pub if_modified_since: Option<OffsetDateTime>,
247
248 /// Specify this value to operate only on a blob with a non-matching Etag value.
249 pub if_none_match: Option<Etag>,
250
251 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
252 pub if_unmodified_since: Option<OffsetDateTime>,
253
254 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
255 pub lease_id: Option<String>,
256
257 /// Allows customization of the method call.
258 pub method_options: ClientMethodOptions<'a>,
259
260 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
261 pub timeout: Option<i32>,
262}
263
264/// Options to be passed to `BlobClient::abort_copy()`
265#[derive(Clone, Default, SafeDebug)]
266pub struct BlobClientAbortCopyOptions<'a> {
267 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
268 pub lease_id: Option<String>,
269
270 /// Allows customization of the method call.
271 pub method_options: ClientMethodOptions<'a>,
272
273 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
274 pub timeout: Option<i32>,
275}
276
277/// Options to be passed to `BlobClient::acquire_lease()`
278#[derive(Clone, Default, SafeDebug)]
279pub struct BlobClientAcquireLeaseOptions<'a> {
280 /// Specify this value to operate only on a blob with a matching Etag value.
281 pub if_match: Option<Etag>,
282
283 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
284 pub if_modified_since: Option<OffsetDateTime>,
285
286 /// Specify this value to operate only on a blob with a non-matching Etag value.
287 pub if_none_match: Option<Etag>,
288
289 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
290 pub if_tags: Option<String>,
291
292 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
293 pub if_unmodified_since: Option<OffsetDateTime>,
294
295 /// Allows customization of the method call.
296 pub method_options: ClientMethodOptions<'a>,
297
298 /// The proposed lease ID for the lease.
299 pub proposed_lease_id: Option<String>,
300
301 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
302 pub timeout: Option<i32>,
303}
304
305/// Options to be passed to `BlobClient::break_lease()`
306#[derive(Clone, Default, SafeDebug)]
307pub struct BlobClientBreakLeaseOptions<'a> {
308 /// Proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only
309 /// used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used.
310 pub break_period: Option<i32>,
311
312 /// Specify this value to operate only on a blob with a matching Etag value.
313 pub if_match: Option<Etag>,
314
315 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
316 pub if_modified_since: Option<OffsetDateTime>,
317
318 /// Specify this value to operate only on a blob with a non-matching Etag value.
319 pub if_none_match: Option<Etag>,
320
321 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
322 pub if_tags: Option<String>,
323
324 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
325 pub if_unmodified_since: Option<OffsetDateTime>,
326
327 /// Allows customization of the method call.
328 pub method_options: ClientMethodOptions<'a>,
329
330 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
331 pub timeout: Option<i32>,
332}
333
334/// Options to be passed to `BlobClient::change_lease()`
335#[derive(Clone, Default, SafeDebug)]
336pub struct BlobClientChangeLeaseOptions<'a> {
337 /// Specify this value to operate only on a blob with a matching Etag value.
338 pub if_match: Option<Etag>,
339
340 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
341 pub if_modified_since: Option<OffsetDateTime>,
342
343 /// Specify this value to operate only on a blob with a non-matching Etag value.
344 pub if_none_match: Option<Etag>,
345
346 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
347 pub if_tags: Option<String>,
348
349 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
350 pub if_unmodified_since: Option<OffsetDateTime>,
351
352 /// Allows customization of the method call.
353 pub method_options: ClientMethodOptions<'a>,
354
355 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
356 pub timeout: Option<i32>,
357}
358
359/// Options to be passed to `BlobClient::create_snapshot()`
360#[derive(Clone, Default, SafeDebug)]
361pub struct BlobClientCreateSnapshotOptions<'a> {
362 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
363 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
364
365 /// Specifies the encryption key to use to encrypt the data provided in the request.
366 pub encryption_key: Option<String>,
367
368 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
369 pub encryption_key_sha256: Option<String>,
370
371 /// Specifies the encryption scope used to encrypt the data.
372 pub encryption_scope: Option<String>,
373
374 /// Specify this value to operate only on a blob with a matching Etag value.
375 pub if_match: Option<Etag>,
376
377 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
378 pub if_modified_since: Option<OffsetDateTime>,
379
380 /// Specify this value to operate only on a blob with a non-matching Etag value.
381 pub if_none_match: Option<Etag>,
382
383 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
384 pub if_tags: Option<String>,
385
386 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
387 pub if_unmodified_since: Option<OffsetDateTime>,
388
389 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
390 pub lease_id: Option<String>,
391
392 /// The metadata headers.
393 pub metadata: Option<HashMap<String, String>>,
394
395 /// Allows customization of the method call.
396 pub method_options: ClientMethodOptions<'a>,
397
398 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
399 pub timeout: Option<i32>,
400}
401
402/// Options to be passed to `BlobClient::delete_immutability_policy()`
403#[derive(Clone, Default, SafeDebug)]
404pub struct BlobClientDeleteImmutabilityPolicyOptions<'a> {
405 /// Allows customization of the method call.
406 pub method_options: ClientMethodOptions<'a>,
407
408 /// Specifies the snapshot of the blob.
409 pub snapshot: Option<String>,
410
411 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
412 pub timeout: Option<i32>,
413
414 /// Specifies the version ID of the blob.
415 pub version_id: Option<String>,
416}
417
418/// Options to be passed to `BlobClient::delete()`
419#[derive(Clone, Default, SafeDebug)]
420pub struct BlobClientDeleteOptions<'a> {
421 /// Specify this header value to operate only on a blob if the access-tier has been modified since the specified date-time.
422 pub access_tier_if_modified_since: Option<OffsetDateTime>,
423
424 /// Specify this header value to operate only on a blob if the access-tier has not been modified since the specified date-time.
425 pub access_tier_if_unmodified_since: Option<OffsetDateTime>,
426
427 /// The delete type.
428 pub blob_delete_type: Option<BlobDeleteType>,
429
430 /// Required if the blob has associated snapshots. Specifies the delete behavior.
431 pub delete_snapshots: Option<DeleteSnapshotsOptionType>,
432
433 /// Specify this value to operate only on a blob with a matching Etag value.
434 pub if_match: Option<Etag>,
435
436 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
437 pub if_modified_since: Option<OffsetDateTime>,
438
439 /// Specify this value to operate only on a blob with a non-matching Etag value.
440 pub if_none_match: Option<Etag>,
441
442 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
443 pub if_tags: Option<String>,
444
445 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
446 pub if_unmodified_since: Option<OffsetDateTime>,
447
448 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
449 pub lease_id: Option<String>,
450
451 /// Allows customization of the method call.
452 pub method_options: ClientMethodOptions<'a>,
453
454 /// Specifies the snapshot of the blob.
455 pub snapshot: Option<String>,
456
457 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
458 pub timeout: Option<i32>,
459
460 /// Specifies the version ID of the blob.
461 pub version_id: Option<String>,
462}
463
464/// Options to be passed to `BlobClient::download_internal()`
465#[derive(Clone, Default, SafeDebug)]
466pub(crate) struct BlobClientDownloadInternalOptions<'a> {
467 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
468 pub(crate) encryption_algorithm: Option<EncryptionAlgorithmType>,
469
470 /// Specifies the encryption key to use to encrypt the data provided in the request.
471 pub(crate) encryption_key: Option<String>,
472
473 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
474 pub(crate) encryption_key_sha256: Option<String>,
475
476 /// Specify this value to operate only on a blob with a matching Etag value.
477 pub(crate) if_match: Option<Etag>,
478
479 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
480 pub(crate) if_modified_since: Option<OffsetDateTime>,
481
482 /// Specify this value to operate only on a blob with a non-matching Etag value.
483 pub(crate) if_none_match: Option<Etag>,
484
485 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
486 pub(crate) if_tags: Option<String>,
487
488 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
489 pub(crate) if_unmodified_since: Option<OffsetDateTime>,
490
491 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
492 pub(crate) lease_id: Option<String>,
493
494 /// Allows customization of the method call.
495 pub(crate) method_options: ClientMethodOptions<'a>,
496
497 /// Specifies the range of the blob to operate on.
498 pub(crate) range: Option<HttpRange>,
499
500 /// When set to true and the request includes a Range header, the service returns the CRC64 hash for the range, as long as
501 /// the range is less than or equal to 4 MiB in size.
502 pub(crate) range_get_content_crc64: Option<bool>,
503
504 /// When set to true and specified together with the `Range` header, the service returns the MD5 hash for the range, as long
505 /// as the range is less than or equal to 4 MiB in size.
506 pub(crate) range_get_content_md5: Option<bool>,
507
508 /// Specifies the snapshot of the blob.
509 pub(crate) snapshot: Option<String>,
510
511 /// Specifies the response content should be returned as a structured message and specifies the message schema version and
512 /// properties.
513 pub(crate) structured_body_type: Option<String>,
514
515 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
516 pub(crate) timeout: Option<i32>,
517
518 /// Specifies the version ID of the blob.
519 pub(crate) version_id: Option<String>,
520}
521
522/// Options to be passed to `BlobClient::get_account_info()`
523#[derive(Clone, Default, SafeDebug)]
524pub struct BlobClientGetAccountInfoOptions<'a> {
525 /// Allows customization of the method call.
526 pub method_options: ClientMethodOptions<'a>,
527
528 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
529 pub timeout: Option<i32>,
530}
531
532/// Options to be passed to `BlobClient::get_properties()`
533#[derive(Clone, Default, SafeDebug)]
534pub struct BlobClientGetPropertiesOptions<'a> {
535 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
536 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
537
538 /// Specifies the encryption key to use to encrypt the data provided in the request.
539 pub encryption_key: Option<String>,
540
541 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
542 pub encryption_key_sha256: Option<String>,
543
544 /// Specify this value to operate only on a blob with a matching Etag value.
545 pub if_match: Option<Etag>,
546
547 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
548 pub if_modified_since: Option<OffsetDateTime>,
549
550 /// Specify this value to operate only on a blob with a non-matching Etag value.
551 pub if_none_match: Option<Etag>,
552
553 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
554 pub if_tags: Option<String>,
555
556 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
557 pub if_unmodified_since: Option<OffsetDateTime>,
558
559 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
560 pub lease_id: Option<String>,
561
562 /// Allows customization of the method call.
563 pub method_options: ClientMethodOptions<'a>,
564
565 /// Specifies the snapshot of the blob.
566 pub snapshot: Option<String>,
567
568 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
569 pub timeout: Option<i32>,
570
571 /// Specifies the version ID of the blob.
572 pub version_id: Option<String>,
573}
574
575/// Options to be passed to `BlobClient::get_tags()`
576#[derive(Clone, Default, SafeDebug)]
577pub struct BlobClientGetTagsOptions<'a> {
578 /// Specify this value to operate only on a blob with a matching Etag value.
579 pub if_match: Option<Etag>,
580
581 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
582 pub if_modified_since: Option<OffsetDateTime>,
583
584 /// Specify this value to operate only on a blob with a non-matching Etag value.
585 pub if_none_match: Option<Etag>,
586
587 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
588 pub if_tags: Option<String>,
589
590 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
591 pub if_unmodified_since: Option<OffsetDateTime>,
592
593 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
594 pub lease_id: Option<String>,
595
596 /// Allows customization of the method call.
597 pub method_options: ClientMethodOptions<'a>,
598
599 /// Specifies the snapshot of the blob.
600 pub snapshot: Option<String>,
601
602 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
603 pub timeout: Option<i32>,
604
605 /// Specifies the version ID of the blob.
606 pub version_id: Option<String>,
607}
608
609/// Options to be passed to `BlobClient::release_lease()`
610#[derive(Clone, Default, SafeDebug)]
611pub struct BlobClientReleaseLeaseOptions<'a> {
612 /// Specify this value to operate only on a blob with a matching Etag value.
613 pub if_match: Option<Etag>,
614
615 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
616 pub if_modified_since: Option<OffsetDateTime>,
617
618 /// Specify this value to operate only on a blob with a non-matching Etag value.
619 pub if_none_match: Option<Etag>,
620
621 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
622 pub if_tags: Option<String>,
623
624 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
625 pub if_unmodified_since: Option<OffsetDateTime>,
626
627 /// Allows customization of the method call.
628 pub method_options: ClientMethodOptions<'a>,
629
630 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
631 pub timeout: Option<i32>,
632}
633
634/// Options to be passed to `BlobClient::renew_lease()`
635#[derive(Clone, Default, SafeDebug)]
636pub struct BlobClientRenewLeaseOptions<'a> {
637 /// Specify this value to operate only on a blob with a matching Etag value.
638 pub if_match: Option<Etag>,
639
640 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
641 pub if_modified_since: Option<OffsetDateTime>,
642
643 /// Specify this value to operate only on a blob with a non-matching Etag value.
644 pub if_none_match: Option<Etag>,
645
646 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
647 pub if_tags: Option<String>,
648
649 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
650 pub if_unmodified_since: Option<OffsetDateTime>,
651
652 /// Allows customization of the method call.
653 pub method_options: ClientMethodOptions<'a>,
654
655 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
656 pub timeout: Option<i32>,
657}
658
659/// Options to be passed to `BlobClient::set_immutability_policy()`
660#[derive(Clone, Default, SafeDebug)]
661pub struct BlobClientSetImmutabilityPolicyOptions<'a> {
662 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
663 pub if_unmodified_since: Option<OffsetDateTime>,
664
665 /// Indicates the immutability policy mode of the blob.
666 pub immutability_policy_mode: Option<ImmutabilityPolicyMode>,
667
668 /// Allows customization of the method call.
669 pub method_options: ClientMethodOptions<'a>,
670
671 /// Specifies the snapshot of the blob.
672 pub snapshot: Option<String>,
673
674 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
675 pub timeout: Option<i32>,
676
677 /// Specifies the version ID of the blob.
678 pub version_id: Option<String>,
679}
680
681/// Options to be passed to `BlobClient::set_legal_hold()`
682#[derive(Clone, Default, SafeDebug)]
683pub struct BlobClientSetLegalHoldOptions<'a> {
684 /// Allows customization of the method call.
685 pub method_options: ClientMethodOptions<'a>,
686
687 /// Specifies the snapshot of the blob.
688 pub snapshot: Option<String>,
689
690 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
691 pub timeout: Option<i32>,
692
693 /// Specifies the version ID of the blob.
694 pub version_id: Option<String>,
695}
696
697/// Options to be passed to `BlobClient::set_metadata()`
698#[derive(Clone, Default, SafeDebug)]
699pub struct BlobClientSetMetadataOptions<'a> {
700 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
701 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
702
703 /// Specifies the encryption key to use to encrypt the data provided in the request.
704 pub encryption_key: Option<String>,
705
706 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
707 pub encryption_key_sha256: Option<String>,
708
709 /// Specifies the encryption scope used to encrypt the data.
710 pub encryption_scope: Option<String>,
711
712 /// Specify this value to operate only on a blob with a matching Etag value.
713 pub if_match: Option<Etag>,
714
715 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
716 pub if_modified_since: Option<OffsetDateTime>,
717
718 /// Specify this value to operate only on a blob with a non-matching Etag value.
719 pub if_none_match: Option<Etag>,
720
721 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
722 pub if_tags: Option<String>,
723
724 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
725 pub if_unmodified_since: Option<OffsetDateTime>,
726
727 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
728 pub lease_id: Option<String>,
729
730 /// Allows customization of the method call.
731 pub method_options: ClientMethodOptions<'a>,
732
733 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
734 pub timeout: Option<i32>,
735}
736
737/// Options to be passed to `BlobClient::set_properties()`
738#[derive(Clone, Default, SafeDebug)]
739pub struct BlobClientSetPropertiesOptions<'a> {
740 /// Specifies the blob's Cache-Control. If specified, this property is stored with the blob and returned with a read request.
741 pub blob_cache_control: Option<String>,
742
743 /// Specifies the blob's Content-Disposition. If specified, this property is stored with the blob and returned with a read
744 /// request.
745 pub blob_content_disposition: Option<String>,
746
747 /// Specifies the blob's Content-Encoding. If specified, this property is stored with the blob and returned with a read request.
748 pub blob_content_encoding: Option<String>,
749
750 /// Specifies the blob's Content-Language. If specified, this property is stored with the blob and returned with a read request.
751 pub blob_content_language: Option<String>,
752
753 /// The MD5 hash of the blob content that is stored as a property on the blob. Note: This hash is not validated.
754 pub blob_content_md5: Option<Vec<u8>>,
755
756 /// Specifies the blob's Content-Type. If specified, this property is stored with the blob and returned with a read request.
757 pub blob_content_type: Option<String>,
758
759 /// Specify this value to operate only on a blob with a matching Etag value.
760 pub if_match: Option<Etag>,
761
762 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
763 pub if_modified_since: Option<OffsetDateTime>,
764
765 /// Specify this value to operate only on a blob with a non-matching Etag value.
766 pub if_none_match: Option<Etag>,
767
768 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
769 pub if_tags: Option<String>,
770
771 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
772 pub if_unmodified_since: Option<OffsetDateTime>,
773
774 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
775 pub lease_id: Option<String>,
776
777 /// Allows customization of the method call.
778 pub method_options: ClientMethodOptions<'a>,
779
780 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
781 pub timeout: Option<i32>,
782}
783
784/// Options to be passed to `BlobClient::set_tags()`
785#[derive(Clone, Default, SafeDebug)]
786pub struct BlobClientSetTagsOptions<'a> {
787 /// Specify this value to operate only on a blob with a matching Etag value.
788 pub if_match: Option<Etag>,
789
790 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
791 pub if_modified_since: Option<OffsetDateTime>,
792
793 /// Specify this value to operate only on a blob with a non-matching Etag value.
794 pub if_none_match: Option<Etag>,
795
796 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
797 pub if_tags: Option<String>,
798
799 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
800 pub if_unmodified_since: Option<OffsetDateTime>,
801
802 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
803 pub lease_id: Option<String>,
804
805 /// Allows customization of the method call.
806 pub method_options: ClientMethodOptions<'a>,
807
808 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
809 pub timeout: Option<i32>,
810
811 /// Specifies the transactional CRC64 hash for the body.
812 pub transactional_content_crc64: Option<Vec<u8>>,
813
814 /// Specifies the transactional MD5 hash for the body.
815 pub transactional_content_md5: Option<Vec<u8>>,
816
817 /// Specifies the version ID of the blob.
818 pub version_id: Option<String>,
819}
820
821/// Options to be passed to `BlobClient::set_tier()`
822#[derive(Clone, Default, SafeDebug)]
823pub struct BlobClientSetTierOptions<'a> {
824 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
825 pub if_tags: Option<String>,
826
827 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
828 pub lease_id: Option<String>,
829
830 /// Allows customization of the method call.
831 pub method_options: ClientMethodOptions<'a>,
832
833 /// The priority of the rehydration operation.
834 pub rehydrate_priority: Option<RehydratePriority>,
835
836 /// Specifies the snapshot of the blob.
837 pub snapshot: Option<String>,
838
839 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
840 pub timeout: Option<i32>,
841
842 /// Specifies the version ID of the blob.
843 pub version_id: Option<String>,
844}
845
846/// Options to be passed to `BlobClient::start_copy_from_url()`
847#[derive(Clone, Default, SafeDebug)]
848pub struct BlobClientStartCopyFromUrlOptions<'a> {
849 /// The blob tags.
850 pub blob_tags_string: Option<String>,
851
852 /// Specify this value to operate only on a blob with a matching Etag value.
853 pub if_match: Option<Etag>,
854
855 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
856 pub if_modified_since: Option<OffsetDateTime>,
857
858 /// Specify this value to operate only on a blob with a non-matching Etag value.
859 pub if_none_match: Option<Etag>,
860
861 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
862 pub if_tags: Option<String>,
863
864 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
865 pub if_unmodified_since: Option<OffsetDateTime>,
866
867 /// The date-time that indicates the time at which the blob immutability policy will expire.
868 pub immutability_policy_expiry: Option<OffsetDateTime>,
869
870 /// Indicates the immutability policy mode of the blob.
871 pub immutability_policy_mode: Option<ImmutabilityPolicyMode>,
872
873 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
874 pub lease_id: Option<String>,
875
876 /// Indicates whether the blob has a legal hold.
877 pub legal_hold: Option<bool>,
878
879 /// The metadata headers.
880 pub metadata: Option<HashMap<String, String>>,
881
882 /// Allows customization of the method call.
883 pub method_options: ClientMethodOptions<'a>,
884
885 /// The priority of the rehydration operation.
886 pub rehydrate_priority: Option<RehydratePriority>,
887
888 /// Overrides the sealed state of the destination blob.
889 pub seal_blob: Option<bool>,
890
891 /// Specify this value to operate only on a source blob with a matching Etag value.
892 pub source_if_match: Option<Etag>,
893
894 /// Specify this value to operate only on a source blob if it has been modified since the specified date-time.
895 pub source_if_modified_since: Option<OffsetDateTime>,
896
897 /// Specify this value to operate only on a source blob with a non-matching Etag value.
898 pub source_if_none_match: Option<Etag>,
899
900 /// Specifies a SQL-like where clause on blob tags to operate only on a source blob with matching tags.
901 pub source_if_tags: Option<String>,
902
903 /// Specify this header value to operate only on a blob if it has not been modified since the specified date-time.
904 pub source_if_unmodified_since: Option<OffsetDateTime>,
905
906 /// The tier to be set on the blob.
907 pub tier: Option<AccessTier>,
908
909 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
910 pub timeout: Option<i32>,
911}
912
913/// Options to be passed to `BlobClient::undelete()`
914#[derive(Clone, Default, SafeDebug)]
915pub struct BlobClientUndeleteOptions<'a> {
916 /// Allows customization of the method call.
917 pub method_options: ClientMethodOptions<'a>,
918
919 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
920 pub timeout: Option<i32>,
921}
922
923/// Options to be passed to `BlobContainerClient::acquire_lease()`
924#[derive(Clone, Default, SafeDebug)]
925pub struct BlobContainerClientAcquireLeaseOptions<'a> {
926 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
927 pub if_modified_since: Option<OffsetDateTime>,
928
929 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
930 pub if_unmodified_since: Option<OffsetDateTime>,
931
932 /// Allows customization of the method call.
933 pub method_options: ClientMethodOptions<'a>,
934
935 /// The proposed lease ID for the lease.
936 pub proposed_lease_id: Option<String>,
937
938 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
939 pub timeout: Option<i32>,
940}
941
942/// Options to be passed to `BlobContainerClient::break_lease()`
943#[derive(Clone, Default, SafeDebug)]
944pub struct BlobContainerClientBreakLeaseOptions<'a> {
945 /// Proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only
946 /// used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used.
947 pub break_period: Option<i32>,
948
949 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
950 pub if_modified_since: Option<OffsetDateTime>,
951
952 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
953 pub if_unmodified_since: Option<OffsetDateTime>,
954
955 /// Allows customization of the method call.
956 pub method_options: ClientMethodOptions<'a>,
957
958 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
959 pub timeout: Option<i32>,
960}
961
962/// Options to be passed to `BlobContainerClient::change_lease()`
963#[derive(Clone, Default, SafeDebug)]
964pub struct BlobContainerClientChangeLeaseOptions<'a> {
965 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
966 pub if_modified_since: Option<OffsetDateTime>,
967
968 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
969 pub if_unmodified_since: Option<OffsetDateTime>,
970
971 /// Allows customization of the method call.
972 pub method_options: ClientMethodOptions<'a>,
973
974 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
975 pub timeout: Option<i32>,
976}
977
978/// Options to be passed to `BlobContainerClient::create()`
979#[derive(Clone, Default, SafeDebug)]
980pub struct BlobContainerClientCreateOptions<'a> {
981 /// The public access setting for the container.
982 pub access: Option<PublicAccessType>,
983
984 /// Specifies the default encryption scope to set on the container and use for all future requests.
985 pub default_encryption_scope: Option<String>,
986
987 /// The metadata headers.
988 pub metadata: Option<HashMap<String, String>>,
989
990 /// Allows customization of the method call.
991 pub method_options: ClientMethodOptions<'a>,
992
993 /// Whether to prevent encryption scope override.
994 pub prevent_encryption_scope_override: Option<bool>,
995
996 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
997 pub timeout: Option<i32>,
998}
999
1000/// Options to be passed to `BlobContainerClient::delete()`
1001#[derive(Clone, Default, SafeDebug)]
1002pub struct BlobContainerClientDeleteOptions<'a> {
1003 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1004 pub if_modified_since: Option<OffsetDateTime>,
1005
1006 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1007 pub if_unmodified_since: Option<OffsetDateTime>,
1008
1009 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1010 pub lease_id: Option<String>,
1011
1012 /// Allows customization of the method call.
1013 pub method_options: ClientMethodOptions<'a>,
1014
1015 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1016 pub timeout: Option<i32>,
1017}
1018
1019/// Options to be passed to `BlobContainerClient::find_blobs_by_tags()`
1020#[derive(Clone, Default, SafeDebug)]
1021pub struct BlobContainerClientFindBlobsByTagsOptions<'a> {
1022 /// Specify to include additional, optional information.
1023 pub include: Option<Vec<FilterBlobsIncludeItem>>,
1024
1025 /// An opaque string value that identifies the portion of the result set to return with this operation.
1026 pub marker: Option<String>,
1027
1028 /// Specifies the maximum number of resources to return. If the request does not specify maxresults, or specifies a value
1029 /// greater than 5000, the server will return up to 5000 items.
1030 pub maxresults: Option<i32>,
1031
1032 /// Allows customization of the method call.
1033 pub method_options: PagerOptions<'a>,
1034
1035 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1036 pub timeout: Option<i32>,
1037}
1038
1039impl BlobContainerClientFindBlobsByTagsOptions<'_> {
1040 /// Transforms this [`BlobContainerClientFindBlobsByTagsOptions`] into a new `BlobContainerClientFindBlobsByTagsOptions` that owns the underlying data, cloning it if necessary.
1041 pub fn into_owned(self) -> BlobContainerClientFindBlobsByTagsOptions<'static> {
1042 BlobContainerClientFindBlobsByTagsOptions {
1043 include: self.include,
1044 marker: self.marker,
1045 maxresults: self.maxresults,
1046 method_options: PagerOptions {
1047 context: self.method_options.context.into_owned(),
1048 ..self.method_options
1049 },
1050 timeout: self.timeout,
1051 }
1052 }
1053}
1054
1055/// Options to be passed to `BlobContainerClient::get_access_policy()`
1056#[derive(Clone, Default, SafeDebug)]
1057pub struct BlobContainerClientGetAccessPolicyOptions<'a> {
1058 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1059 pub lease_id: Option<String>,
1060
1061 /// Allows customization of the method call.
1062 pub method_options: ClientMethodOptions<'a>,
1063
1064 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1065 pub timeout: Option<i32>,
1066}
1067
1068/// Options to be passed to `BlobContainerClient::get_account_info()`
1069#[derive(Clone, Default, SafeDebug)]
1070pub struct BlobContainerClientGetAccountInfoOptions<'a> {
1071 /// Allows customization of the method call.
1072 pub method_options: ClientMethodOptions<'a>,
1073
1074 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1075 pub timeout: Option<i32>,
1076}
1077
1078/// Options to be passed to `BlobContainerClient::get_properties()`
1079#[derive(Clone, Default, SafeDebug)]
1080pub struct BlobContainerClientGetPropertiesOptions<'a> {
1081 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1082 pub lease_id: Option<String>,
1083
1084 /// Allows customization of the method call.
1085 pub method_options: ClientMethodOptions<'a>,
1086
1087 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1088 pub timeout: Option<i32>,
1089}
1090
1091/// Options to be passed to `BlobContainerClient::list_blobs()`
1092#[derive(Clone, Default, SafeDebug)]
1093pub struct BlobContainerClientListBlobsOptions<'a> {
1094 /// Specify to include additional, optional information.
1095 pub include: Option<Vec<ListBlobsIncludeItem>>,
1096
1097 /// An opaque string value that identifies the portion of the result set to return with this operation.
1098 pub marker: Option<String>,
1099
1100 /// Specifies the maximum number of resources to return. If the request does not specify maxresults, or specifies a value
1101 /// greater than 5000, the server will return up to 5000 items.
1102 pub maxresults: Option<i32>,
1103
1104 /// Allows customization of the method call.
1105 pub method_options: PagerOptions<'a>,
1106
1107 /// Filters the results to return only resources whose name begins with the specified prefix.
1108 pub prefix: Option<String>,
1109
1110 /// Specifies the relative path to list paths from. For non-recursive list, only one entity level is supported; for recursive
1111 /// list, multiple entity levels are supported. (Inclusive)
1112 pub start_from: Option<String>,
1113
1114 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1115 pub timeout: Option<i32>,
1116}
1117
1118impl BlobContainerClientListBlobsOptions<'_> {
1119 /// Transforms this [`BlobContainerClientListBlobsOptions`] into a new `BlobContainerClientListBlobsOptions` that owns the underlying data, cloning it if necessary.
1120 pub fn into_owned(self) -> BlobContainerClientListBlobsOptions<'static> {
1121 BlobContainerClientListBlobsOptions {
1122 include: self.include,
1123 marker: self.marker,
1124 maxresults: self.maxresults,
1125 method_options: PagerOptions {
1126 context: self.method_options.context.into_owned(),
1127 ..self.method_options
1128 },
1129 prefix: self.prefix,
1130 start_from: self.start_from,
1131 timeout: self.timeout,
1132 }
1133 }
1134}
1135
1136/// Options to be passed to `BlobContainerClient::release_lease()`
1137#[derive(Clone, Default, SafeDebug)]
1138pub struct BlobContainerClientReleaseLeaseOptions<'a> {
1139 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1140 pub if_modified_since: Option<OffsetDateTime>,
1141
1142 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1143 pub if_unmodified_since: Option<OffsetDateTime>,
1144
1145 /// Allows customization of the method call.
1146 pub method_options: ClientMethodOptions<'a>,
1147
1148 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1149 pub timeout: Option<i32>,
1150}
1151
1152/// Options to be passed to `BlobContainerClient::renew_lease()`
1153#[derive(Clone, Default, SafeDebug)]
1154pub struct BlobContainerClientRenewLeaseOptions<'a> {
1155 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1156 pub if_modified_since: Option<OffsetDateTime>,
1157
1158 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1159 pub if_unmodified_since: Option<OffsetDateTime>,
1160
1161 /// Allows customization of the method call.
1162 pub method_options: ClientMethodOptions<'a>,
1163
1164 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1165 pub timeout: Option<i32>,
1166}
1167
1168/// Options to be passed to `BlobContainerClient::set_access_policy()`
1169#[derive(Clone, Default, SafeDebug)]
1170pub struct BlobContainerClientSetAccessPolicyOptions<'a> {
1171 /// The public access setting for the container.
1172 pub access: Option<PublicAccessType>,
1173
1174 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1175 pub if_modified_since: Option<OffsetDateTime>,
1176
1177 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1178 pub if_unmodified_since: Option<OffsetDateTime>,
1179
1180 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1181 pub lease_id: Option<String>,
1182
1183 /// Allows customization of the method call.
1184 pub method_options: ClientMethodOptions<'a>,
1185
1186 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1187 pub timeout: Option<i32>,
1188}
1189
1190/// Options to be passed to `BlobContainerClient::set_metadata()`
1191#[derive(Clone, Default, SafeDebug)]
1192pub struct BlobContainerClientSetMetadataOptions<'a> {
1193 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1194 pub if_modified_since: Option<OffsetDateTime>,
1195
1196 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1197 pub lease_id: Option<String>,
1198
1199 /// Allows customization of the method call.
1200 pub method_options: ClientMethodOptions<'a>,
1201
1202 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1203 pub timeout: Option<i32>,
1204}
1205
1206/// Options to be passed to `BlobServiceClient::find_blobs_by_tags()`
1207#[derive(Clone, Default, SafeDebug)]
1208pub struct BlobServiceClientFindBlobsByTagsOptions<'a> {
1209 /// Specify to include additional, optional information.
1210 pub include: Option<Vec<FilterBlobsIncludeItem>>,
1211
1212 /// An opaque string value that identifies the portion of the result set to return with this operation.
1213 pub marker: Option<String>,
1214
1215 /// Specifies the maximum number of resources to return. If the request does not specify maxresults, or specifies a value
1216 /// greater than 5000, the server will return up to 5000 items.
1217 pub maxresults: Option<i32>,
1218
1219 /// Allows customization of the method call.
1220 pub method_options: PagerOptions<'a>,
1221
1222 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1223 pub timeout: Option<i32>,
1224}
1225
1226impl BlobServiceClientFindBlobsByTagsOptions<'_> {
1227 /// Transforms this [`BlobServiceClientFindBlobsByTagsOptions`] into a new `BlobServiceClientFindBlobsByTagsOptions` that owns the underlying data, cloning it if necessary.
1228 pub fn into_owned(self) -> BlobServiceClientFindBlobsByTagsOptions<'static> {
1229 BlobServiceClientFindBlobsByTagsOptions {
1230 include: self.include,
1231 marker: self.marker,
1232 maxresults: self.maxresults,
1233 method_options: PagerOptions {
1234 context: self.method_options.context.into_owned(),
1235 ..self.method_options
1236 },
1237 timeout: self.timeout,
1238 }
1239 }
1240}
1241
1242/// Options to be passed to `BlobServiceClient::get_account_info()`
1243#[derive(Clone, Default, SafeDebug)]
1244pub struct BlobServiceClientGetAccountInfoOptions<'a> {
1245 /// Allows customization of the method call.
1246 pub method_options: ClientMethodOptions<'a>,
1247
1248 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1249 pub timeout: Option<i32>,
1250}
1251
1252/// Options to be passed to `BlobServiceClient::get_properties()`
1253#[derive(Clone, Default, SafeDebug)]
1254pub struct BlobServiceClientGetPropertiesOptions<'a> {
1255 /// Allows customization of the method call.
1256 pub method_options: ClientMethodOptions<'a>,
1257
1258 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1259 pub timeout: Option<i32>,
1260}
1261
1262/// Options to be passed to `BlobServiceClient::get_statistics()`
1263#[derive(Clone, Default, SafeDebug)]
1264pub struct BlobServiceClientGetStatisticsOptions<'a> {
1265 /// Allows customization of the method call.
1266 pub method_options: ClientMethodOptions<'a>,
1267
1268 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1269 pub timeout: Option<i32>,
1270}
1271
1272/// Options to be passed to `BlobServiceClient::get_user_delegation_key()`
1273#[derive(Clone, Default, SafeDebug)]
1274pub struct BlobServiceClientGetUserDelegationKeyOptions<'a> {
1275 /// Allows customization of the method call.
1276 pub method_options: ClientMethodOptions<'a>,
1277
1278 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1279 pub timeout: Option<i32>,
1280}
1281
1282/// Options to be passed to `BlobServiceClient::list_containers()`
1283#[derive(Clone, Default, SafeDebug)]
1284pub struct BlobServiceClientListContainersOptions<'a> {
1285 /// Specify to include additional, optional information.
1286 pub include: Option<Vec<ListContainersIncludeType>>,
1287
1288 /// An opaque string value that identifies the portion of the result set to return with this operation.
1289 pub marker: Option<String>,
1290
1291 /// Specifies the maximum number of resources to return. If the request does not specify maxresults, or specifies a value
1292 /// greater than 5000, the server will return up to 5000 items.
1293 pub maxresults: Option<i32>,
1294
1295 /// Allows customization of the method call.
1296 pub method_options: PagerOptions<'a>,
1297
1298 /// Filters the results to return only resources whose name begins with the specified prefix.
1299 pub prefix: Option<String>,
1300
1301 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1302 pub timeout: Option<i32>,
1303}
1304
1305impl BlobServiceClientListContainersOptions<'_> {
1306 /// Transforms this [`BlobServiceClientListContainersOptions`] into a new `BlobServiceClientListContainersOptions` that owns the underlying data, cloning it if necessary.
1307 pub fn into_owned(self) -> BlobServiceClientListContainersOptions<'static> {
1308 BlobServiceClientListContainersOptions {
1309 include: self.include,
1310 marker: self.marker,
1311 maxresults: self.maxresults,
1312 method_options: PagerOptions {
1313 context: self.method_options.context.into_owned(),
1314 ..self.method_options
1315 },
1316 prefix: self.prefix,
1317 timeout: self.timeout,
1318 }
1319 }
1320}
1321
1322/// Options to be passed to `BlobServiceClient::set_properties()`
1323#[derive(Clone, Default, SafeDebug)]
1324pub struct BlobServiceClientSetPropertiesOptions<'a> {
1325 /// Allows customization of the method call.
1326 pub method_options: ClientMethodOptions<'a>,
1327
1328 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1329 pub timeout: Option<i32>,
1330}
1331
1332/// Options to be passed to `BlockBlobClient::commit_block_list()`
1333#[derive(Clone, Default, SafeDebug)]
1334pub struct BlockBlobClientCommitBlockListOptions<'a> {
1335 /// Specifies the blob's Cache-Control. If specified, this property is stored with the blob and returned with a read request.
1336 pub blob_cache_control: Option<String>,
1337
1338 /// Specifies the blob's Content-Disposition. If specified, this property is stored with the blob and returned with a read
1339 /// request.
1340 pub blob_content_disposition: Option<String>,
1341
1342 /// Specifies the blob's Content-Encoding. If specified, this property is stored with the blob and returned with a read request.
1343 pub blob_content_encoding: Option<String>,
1344
1345 /// Specifies the blob's Content-Language. If specified, this property is stored with the blob and returned with a read request.
1346 pub blob_content_language: Option<String>,
1347
1348 /// The MD5 hash of the blob content that is stored as a property on the blob. Note: This hash is not validated.
1349 pub blob_content_md5: Option<Vec<u8>>,
1350
1351 /// Specifies the blob's Content-Type. If specified, this property is stored with the blob and returned with a read request.
1352 pub blob_content_type: Option<String>,
1353
1354 /// The blob tags.
1355 pub blob_tags_string: Option<String>,
1356
1357 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1358 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1359
1360 /// Specifies the encryption key to use to encrypt the data provided in the request.
1361 pub encryption_key: Option<String>,
1362
1363 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1364 pub encryption_key_sha256: Option<String>,
1365
1366 /// Specifies the encryption scope used to encrypt the data.
1367 pub encryption_scope: Option<String>,
1368
1369 /// Specify this value to operate only on a blob with a matching Etag value.
1370 pub if_match: Option<Etag>,
1371
1372 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1373 pub if_modified_since: Option<OffsetDateTime>,
1374
1375 /// Specify this value to operate only on a blob with a non-matching Etag value.
1376 pub if_none_match: Option<Etag>,
1377
1378 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1379 pub if_tags: Option<String>,
1380
1381 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1382 pub if_unmodified_since: Option<OffsetDateTime>,
1383
1384 /// The date-time that indicates the time at which the blob immutability policy will expire.
1385 pub immutability_policy_expiry: Option<OffsetDateTime>,
1386
1387 /// Indicates the immutability policy mode of the blob.
1388 pub immutability_policy_mode: Option<ImmutabilityPolicyMode>,
1389
1390 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1391 pub lease_id: Option<String>,
1392
1393 /// Indicates whether the blob has a legal hold.
1394 pub legal_hold: Option<bool>,
1395
1396 /// The metadata headers.
1397 pub metadata: Option<HashMap<String, String>>,
1398
1399 /// Allows customization of the method call.
1400 pub method_options: ClientMethodOptions<'a>,
1401
1402 /// The tier to be set on the blob.
1403 pub tier: Option<AccessTier>,
1404
1405 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1406 pub timeout: Option<i32>,
1407
1408 /// Specifies the transactional CRC64 hash for the body.
1409 pub transactional_content_crc64: Option<Vec<u8>>,
1410
1411 /// Specifies the transactional MD5 hash for the body.
1412 pub transactional_content_md5: Option<Vec<u8>>,
1413}
1414
1415/// Options to be passed to `BlockBlobClient::get_block_list()`
1416#[derive(Clone, Default, SafeDebug)]
1417pub struct BlockBlobClientGetBlockListOptions<'a> {
1418 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1419 pub if_tags: Option<String>,
1420
1421 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1422 pub lease_id: Option<String>,
1423
1424 /// Allows customization of the method call.
1425 pub method_options: ClientMethodOptions<'a>,
1426
1427 /// Specifies the snapshot of the blob.
1428 pub snapshot: Option<String>,
1429
1430 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1431 pub timeout: Option<i32>,
1432}
1433
1434/// Options to be passed to `BlockBlobClient::stage_block_from_url()`
1435#[derive(Clone, Default, SafeDebug)]
1436pub struct BlockBlobClientStageBlockFromUrlOptions<'a> {
1437 /// Only the Bearer authorization scheme is supported, and the value must be a valid OAuth access token for the copy source.
1438 pub copy_source_authorization: Option<String>,
1439
1440 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1441 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1442
1443 /// Specifies the encryption key to use to encrypt the data provided in the request.
1444 pub encryption_key: Option<String>,
1445
1446 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1447 pub encryption_key_sha256: Option<String>,
1448
1449 /// Specifies the encryption scope used to encrypt the data.
1450 pub encryption_scope: Option<String>,
1451
1452 /// Specifies the file request token intent.
1453 pub file_request_intent: Option<FileShareTokenIntent>,
1454
1455 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1456 pub lease_id: Option<String>,
1457
1458 /// Allows customization of the method call.
1459 pub method_options: ClientMethodOptions<'a>,
1460
1461 /// Specifies the CRC64 calculated for the range of bytes that must be read from the source.
1462 pub source_content_crc64: Option<Vec<u8>>,
1463
1464 /// Specifies the MD5 hash calculated for the range of bytes that must be read from the copy source.
1465 pub source_content_md5: Option<Vec<u8>>,
1466
1467 /// The algorithm used to produce the source encryption key hash. Must be provided if the source encryption key is provided.
1468 pub source_encryption_algorithm: Option<EncryptionAlgorithmType>,
1469
1470 /// Specifies the encryption key to use to decrypt the source data provided in the request.
1471 pub source_encryption_key: Option<String>,
1472
1473 /// The SHA-256 hash of the provided source encryption key. Must be provided if the source encryption key is provided.
1474 pub source_encryption_key_sha256: Option<String>,
1475
1476 /// Specify this value to operate only on a source blob with a matching Etag value.
1477 pub source_if_match: Option<Etag>,
1478
1479 /// Specify this value to operate only on a source blob if it has been modified since the specified date-time.
1480 pub source_if_modified_since: Option<OffsetDateTime>,
1481
1482 /// Specify this value to operate only on a source blob with a non-matching Etag value.
1483 pub source_if_none_match: Option<Etag>,
1484
1485 /// Specify this header value to operate only on a blob if it has not been modified since the specified date-time.
1486 pub source_if_unmodified_since: Option<OffsetDateTime>,
1487
1488 /// Specifies the bytes of the source.
1489 pub source_range: Option<HttpRange>,
1490
1491 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1492 pub timeout: Option<i32>,
1493}
1494
1495/// Options to be passed to `BlockBlobClient::stage_block()`
1496#[derive(Clone, Default, SafeDebug)]
1497pub struct BlockBlobClientStageBlockOptions<'a> {
1498 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1499 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1500
1501 /// Specifies the encryption key to use to encrypt the data provided in the request.
1502 pub encryption_key: Option<String>,
1503
1504 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1505 pub encryption_key_sha256: Option<String>,
1506
1507 /// Specifies the encryption scope used to encrypt the data.
1508 pub encryption_scope: Option<String>,
1509
1510 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1511 pub lease_id: Option<String>,
1512
1513 /// Allows customization of the method call.
1514 pub method_options: ClientMethodOptions<'a>,
1515
1516 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1517 pub timeout: Option<i32>,
1518
1519 /// Specifies the transactional CRC64 hash for the body.
1520 pub transactional_content_crc64: Option<Vec<u8>>,
1521
1522 /// Specifies the transactional MD5 hash for the body.
1523 pub transactional_content_md5: Option<Vec<u8>>,
1524}
1525
1526/// Options to be passed to `BlockBlobClient::upload_blob_from_url()`
1527#[derive(Clone, Default, SafeDebug)]
1528pub struct BlockBlobClientUploadBlobFromUrlOptions<'a> {
1529 /// Specifies the blob's Cache-Control. If specified, this property is stored with the blob and returned with a read request.
1530 pub blob_cache_control: Option<String>,
1531
1532 /// Specifies the blob's Content-Disposition. If specified, this property is stored with the blob and returned with a read
1533 /// request.
1534 pub blob_content_disposition: Option<String>,
1535
1536 /// Specifies the blob's Content-Encoding. If specified, this property is stored with the blob and returned with a read request.
1537 pub blob_content_encoding: Option<String>,
1538
1539 /// Specifies the blob's Content-Language. If specified, this property is stored with the blob and returned with a read request.
1540 pub blob_content_language: Option<String>,
1541
1542 /// The MD5 hash of the blob content that is stored as a property on the blob. Note: This hash is not validated.
1543 pub blob_content_md5: Option<Vec<u8>>,
1544
1545 /// Specifies the blob's Content-Type. If specified, this property is stored with the blob and returned with a read request.
1546 pub blob_content_type: Option<String>,
1547
1548 /// The blob tags.
1549 pub blob_tags_string: Option<String>,
1550
1551 /// Only the Bearer authorization scheme is supported, and the value must be a valid OAuth access token for the copy source.
1552 pub copy_source_authorization: Option<String>,
1553
1554 /// Indicates if properties from the source blob should be copied. Default is true.
1555 pub copy_source_blob_properties: Option<bool>,
1556
1557 /// Indicates if source tags should be copied or replaced with the tags specified. Default is 'Replace'.
1558 pub copy_source_tags: Option<BlobCopySourceTags>,
1559
1560 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1561 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1562
1563 /// Specifies the encryption key to use to encrypt the data provided in the request.
1564 pub encryption_key: Option<String>,
1565
1566 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1567 pub encryption_key_sha256: Option<String>,
1568
1569 /// Specifies the encryption scope used to encrypt the data.
1570 pub encryption_scope: Option<String>,
1571
1572 /// Specifies the file request token intent.
1573 pub file_request_intent: Option<FileShareTokenIntent>,
1574
1575 /// Specify this value to operate only on a blob with a matching Etag value.
1576 pub if_match: Option<Etag>,
1577
1578 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1579 pub if_modified_since: Option<OffsetDateTime>,
1580
1581 /// Specify this value to operate only on a blob with a non-matching Etag value.
1582 pub if_none_match: Option<Etag>,
1583
1584 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1585 pub if_tags: Option<String>,
1586
1587 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1588 pub if_unmodified_since: Option<OffsetDateTime>,
1589
1590 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1591 pub lease_id: Option<String>,
1592
1593 /// The metadata headers.
1594 pub metadata: Option<HashMap<String, String>>,
1595
1596 /// Allows customization of the method call.
1597 pub method_options: ClientMethodOptions<'a>,
1598
1599 /// Specifies the MD5 hash calculated for the range of bytes that must be read from the copy source.
1600 pub source_content_md5: Option<Vec<u8>>,
1601
1602 /// The algorithm used to produce the source encryption key hash. Must be provided if the source encryption key is provided.
1603 pub source_encryption_algorithm: Option<EncryptionAlgorithmType>,
1604
1605 /// Specifies the encryption key to use to decrypt the source data provided in the request.
1606 pub source_encryption_key: Option<String>,
1607
1608 /// The SHA-256 hash of the provided source encryption key. Must be provided if the source encryption key is provided.
1609 pub source_encryption_key_sha256: Option<String>,
1610
1611 /// Specify this value to operate only on a source blob with a matching Etag value.
1612 pub source_if_match: Option<Etag>,
1613
1614 /// Specify this value to operate only on a source blob if it has been modified since the specified date-time.
1615 pub source_if_modified_since: Option<OffsetDateTime>,
1616
1617 /// Specify this value to operate only on a source blob with a non-matching Etag value.
1618 pub source_if_none_match: Option<Etag>,
1619
1620 /// Specifies a SQL-like where clause on blob tags to operate only on a source blob with matching tags.
1621 pub source_if_tags: Option<String>,
1622
1623 /// Specify this header value to operate only on a blob if it has not been modified since the specified date-time.
1624 pub source_if_unmodified_since: Option<OffsetDateTime>,
1625
1626 /// The tier to be set on the blob.
1627 pub tier: Option<AccessTier>,
1628
1629 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1630 pub timeout: Option<i32>,
1631
1632 /// Specifies the transactional MD5 hash for the body.
1633 pub transactional_content_md5: Option<Vec<u8>>,
1634}
1635
1636/// Options to be passed to `BlockBlobClient::upload_internal()`
1637#[derive(Clone, Default, SafeDebug)]
1638pub(crate) struct BlockBlobClientUploadInternalOptions<'a> {
1639 /// Specifies the blob's Cache-Control. If specified, this property is stored with the blob and returned with a read request.
1640 pub(crate) blob_cache_control: Option<String>,
1641
1642 /// Specifies the blob's Content-Disposition. If specified, this property is stored with the blob and returned with a read
1643 /// request.
1644 pub(crate) blob_content_disposition: Option<String>,
1645
1646 /// Specifies the blob's Content-Encoding. If specified, this property is stored with the blob and returned with a read request.
1647 pub(crate) blob_content_encoding: Option<String>,
1648
1649 /// Specifies the blob's Content-Language. If specified, this property is stored with the blob and returned with a read request.
1650 pub(crate) blob_content_language: Option<String>,
1651
1652 /// The MD5 hash of the blob content that is stored as a property on the blob. Note: This hash is not validated.
1653 pub(crate) blob_content_md5: Option<Vec<u8>>,
1654
1655 /// Specifies the blob's Content-Type. If specified, this property is stored with the blob and returned with a read request.
1656 pub(crate) blob_content_type: Option<String>,
1657
1658 /// The blob tags.
1659 pub(crate) blob_tags_string: Option<String>,
1660
1661 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1662 pub(crate) encryption_algorithm: Option<EncryptionAlgorithmType>,
1663
1664 /// Specifies the encryption key to use to encrypt the data provided in the request.
1665 pub(crate) encryption_key: Option<String>,
1666
1667 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1668 pub(crate) encryption_key_sha256: Option<String>,
1669
1670 /// Specifies the encryption scope used to encrypt the data.
1671 pub(crate) encryption_scope: Option<String>,
1672
1673 /// Specify this value to operate only on a blob with a matching Etag value.
1674 pub(crate) if_match: Option<Etag>,
1675
1676 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1677 pub(crate) if_modified_since: Option<OffsetDateTime>,
1678
1679 /// Specify this value to operate only on a blob with a non-matching Etag value.
1680 pub(crate) if_none_match: Option<Etag>,
1681
1682 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1683 pub(crate) if_tags: Option<String>,
1684
1685 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1686 pub(crate) if_unmodified_since: Option<OffsetDateTime>,
1687
1688 /// The date-time that indicates the time at which the blob immutability policy will expire.
1689 pub(crate) immutability_policy_expiry: Option<OffsetDateTime>,
1690
1691 /// Indicates the immutability policy mode of the blob.
1692 pub(crate) immutability_policy_mode: Option<ImmutabilityPolicyMode>,
1693
1694 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1695 pub(crate) lease_id: Option<String>,
1696
1697 /// Indicates whether the blob has a legal hold.
1698 pub(crate) legal_hold: Option<bool>,
1699
1700 /// The metadata headers.
1701 pub(crate) metadata: Option<HashMap<String, String>>,
1702
1703 /// Allows customization of the method call.
1704 pub(crate) method_options: ClientMethodOptions<'a>,
1705
1706 /// Required if the request body is a structured message. Specifies the message schema version and properties.
1707 pub(crate) structured_body_type: Option<String>,
1708
1709 /// Required if the request body is a structured message. Specifies the length of the blob/file content inside the message
1710 /// body. Will always be smaller than Content-Length.
1711 pub(crate) structured_content_length: Option<u64>,
1712
1713 /// The tier to be set on the blob.
1714 pub(crate) tier: Option<AccessTier>,
1715
1716 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1717 pub(crate) timeout: Option<i32>,
1718
1719 /// Specifies the transactional CRC64 hash for the body.
1720 pub(crate) transactional_content_crc64: Option<Vec<u8>>,
1721
1722 /// Specifies the transactional MD5 hash for the body.
1723 pub(crate) transactional_content_md5: Option<Vec<u8>>,
1724}
1725
1726/// Options to be passed to `PageBlobClient::clear_pages()`
1727#[derive(Clone, Default, SafeDebug)]
1728pub struct PageBlobClientClearPagesOptions<'a> {
1729 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1730 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1731
1732 /// Specifies the encryption key to use to encrypt the data provided in the request.
1733 pub encryption_key: Option<String>,
1734
1735 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1736 pub encryption_key_sha256: Option<String>,
1737
1738 /// Specifies the encryption scope used to encrypt the data.
1739 pub encryption_scope: Option<String>,
1740
1741 /// Specify this value to operate only on a blob with a matching Etag value.
1742 pub if_match: Option<Etag>,
1743
1744 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1745 pub if_modified_since: Option<OffsetDateTime>,
1746
1747 /// Specify this value to operate only on a blob with a non-matching Etag value.
1748 pub if_none_match: Option<Etag>,
1749
1750 /// Specify this value to operate only on a blob if it has the specified sequence number.
1751 pub if_sequence_number_equal_to: Option<i64>,
1752
1753 /// Specify this value to operate only on a blob if it has a sequence number less than the specified.
1754 pub if_sequence_number_less_than: Option<i64>,
1755
1756 /// Specify this value to operate only on a blob if it has a sequence number less than or equal to the specified.
1757 pub if_sequence_number_less_than_or_equal_to: Option<i64>,
1758
1759 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1760 pub if_tags: Option<String>,
1761
1762 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1763 pub if_unmodified_since: Option<OffsetDateTime>,
1764
1765 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1766 pub lease_id: Option<String>,
1767
1768 /// Allows customization of the method call.
1769 pub method_options: ClientMethodOptions<'a>,
1770
1771 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1772 pub timeout: Option<i32>,
1773}
1774
1775/// Options to be passed to `PageBlobClient::create()`
1776#[derive(Clone, Default, SafeDebug)]
1777pub struct PageBlobClientCreateOptions<'a> {
1778 /// Specifies the blob's Cache-Control. If specified, this property is stored with the blob and returned with a read request.
1779 pub blob_cache_control: Option<String>,
1780
1781 /// Specifies the blob's Content-Disposition. If specified, this property is stored with the blob and returned with a read
1782 /// request.
1783 pub blob_content_disposition: Option<String>,
1784
1785 /// Specifies the blob's Content-Encoding. If specified, this property is stored with the blob and returned with a read request.
1786 pub blob_content_encoding: Option<String>,
1787
1788 /// Specifies the blob's Content-Language. If specified, this property is stored with the blob and returned with a read request.
1789 pub blob_content_language: Option<String>,
1790
1791 /// The MD5 hash of the blob content that is stored as a property on the blob. Note: This hash is not validated.
1792 pub blob_content_md5: Option<Vec<u8>>,
1793
1794 /// Specifies the blob's Content-Type. If specified, this property is stored with the blob and returned with a read request.
1795 pub blob_content_type: Option<String>,
1796
1797 /// A value that can be used to track the request. The value of the sequence number must be between 0 and 2^63 - 1.
1798 pub blob_sequence_number: Option<i64>,
1799
1800 /// The blob tags.
1801 pub blob_tags_string: Option<String>,
1802
1803 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1804 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1805
1806 /// Specifies the encryption key to use to encrypt the data provided in the request.
1807 pub encryption_key: Option<String>,
1808
1809 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1810 pub encryption_key_sha256: Option<String>,
1811
1812 /// Specifies the encryption scope used to encrypt the data.
1813 pub encryption_scope: Option<String>,
1814
1815 /// Specify this value to operate only on a blob with a matching Etag value.
1816 pub if_match: Option<Etag>,
1817
1818 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1819 pub if_modified_since: Option<OffsetDateTime>,
1820
1821 /// Specify this value to operate only on a blob with a non-matching Etag value.
1822 pub if_none_match: Option<Etag>,
1823
1824 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1825 pub if_tags: Option<String>,
1826
1827 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1828 pub if_unmodified_since: Option<OffsetDateTime>,
1829
1830 /// The date-time that indicates the time at which the blob immutability policy will expire.
1831 pub immutability_policy_expiry: Option<OffsetDateTime>,
1832
1833 /// Indicates the immutability policy mode of the blob.
1834 pub immutability_policy_mode: Option<ImmutabilityPolicyMode>,
1835
1836 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1837 pub lease_id: Option<String>,
1838
1839 /// Indicates whether the blob has a legal hold.
1840 pub legal_hold: Option<bool>,
1841
1842 /// The metadata headers.
1843 pub metadata: Option<HashMap<String, String>>,
1844
1845 /// Allows customization of the method call.
1846 pub method_options: ClientMethodOptions<'a>,
1847
1848 /// Indicates the tier to be set on the page blob.
1849 pub tier: Option<PremiumPageBlobAccessTier>,
1850
1851 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1852 pub timeout: Option<i32>,
1853}
1854
1855/// Options to be passed to `PageBlobClient::list_page_ranges()`
1856#[derive(Clone, Default, SafeDebug)]
1857pub struct PageBlobClientListPageRangesOptions<'a> {
1858 /// Specify this value to operate only on a blob with a matching Etag value.
1859 pub if_match: Option<Etag>,
1860
1861 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1862 pub if_modified_since: Option<OffsetDateTime>,
1863
1864 /// Specify this value to operate only on a blob with a non-matching Etag value.
1865 pub if_none_match: Option<Etag>,
1866
1867 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1868 pub if_tags: Option<String>,
1869
1870 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1871 pub if_unmodified_since: Option<OffsetDateTime>,
1872
1873 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1874 pub lease_id: Option<String>,
1875
1876 /// An opaque string value that identifies the portion of the result set to return with this operation.
1877 pub marker: Option<String>,
1878
1879 /// Specifies the maximum number of resources to return. If the request does not specify maxresults, or specifies a value
1880 /// greater than 5000, the server will return up to 5000 items.
1881 pub maxresults: Option<i32>,
1882
1883 /// Allows customization of the method call.
1884 pub method_options: PagerOptions<'a>,
1885
1886 /// Specifies the range of the blob to operate on.
1887 pub range: Option<HttpRange>,
1888
1889 /// Specifies the snapshot of the blob.
1890 pub snapshot: Option<String>,
1891
1892 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1893 pub timeout: Option<i32>,
1894}
1895
1896impl PageBlobClientListPageRangesOptions<'_> {
1897 /// Transforms this [`PageBlobClientListPageRangesOptions`] into a new `PageBlobClientListPageRangesOptions` that owns the underlying data, cloning it if necessary.
1898 pub fn into_owned(self) -> PageBlobClientListPageRangesOptions<'static> {
1899 PageBlobClientListPageRangesOptions {
1900 if_match: self.if_match,
1901 if_modified_since: self.if_modified_since,
1902 if_none_match: self.if_none_match,
1903 if_tags: self.if_tags,
1904 if_unmodified_since: self.if_unmodified_since,
1905 lease_id: self.lease_id,
1906 marker: self.marker,
1907 maxresults: self.maxresults,
1908 method_options: PagerOptions {
1909 context: self.method_options.context.into_owned(),
1910 ..self.method_options
1911 },
1912 range: self.range,
1913 snapshot: self.snapshot,
1914 timeout: self.timeout,
1915 }
1916 }
1917}
1918
1919/// Options to be passed to `PageBlobClient::resize()`
1920#[derive(Clone, Default, SafeDebug)]
1921pub struct PageBlobClientResizeOptions<'a> {
1922 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1923 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1924
1925 /// Specifies the encryption key to use to encrypt the data provided in the request.
1926 pub encryption_key: Option<String>,
1927
1928 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
1929 pub encryption_key_sha256: Option<String>,
1930
1931 /// Specifies the encryption scope used to encrypt the data.
1932 pub encryption_scope: Option<String>,
1933
1934 /// Specify this value to operate only on a blob with a matching Etag value.
1935 pub if_match: Option<Etag>,
1936
1937 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1938 pub if_modified_since: Option<OffsetDateTime>,
1939
1940 /// Specify this value to operate only on a blob with a non-matching Etag value.
1941 pub if_none_match: Option<Etag>,
1942
1943 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1944 pub if_tags: Option<String>,
1945
1946 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1947 pub if_unmodified_since: Option<OffsetDateTime>,
1948
1949 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1950 pub lease_id: Option<String>,
1951
1952 /// Allows customization of the method call.
1953 pub method_options: ClientMethodOptions<'a>,
1954
1955 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1956 pub timeout: Option<i32>,
1957}
1958
1959/// Options to be passed to `PageBlobClient::set_sequence_number()`
1960#[derive(Clone, Default, SafeDebug)]
1961pub struct PageBlobClientSetSequenceNumberOptions<'a> {
1962 /// A value that can be used to track the request. The value of the sequence number must be between 0 and 2^63 - 1.
1963 pub blob_sequence_number: Option<i64>,
1964
1965 /// Specify this value to operate only on a blob with a matching Etag value.
1966 pub if_match: Option<Etag>,
1967
1968 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
1969 pub if_modified_since: Option<OffsetDateTime>,
1970
1971 /// Specify this value to operate only on a blob with a non-matching Etag value.
1972 pub if_none_match: Option<Etag>,
1973
1974 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
1975 pub if_tags: Option<String>,
1976
1977 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
1978 pub if_unmodified_since: Option<OffsetDateTime>,
1979
1980 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
1981 pub lease_id: Option<String>,
1982
1983 /// Allows customization of the method call.
1984 pub method_options: ClientMethodOptions<'a>,
1985
1986 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
1987 pub timeout: Option<i32>,
1988}
1989
1990/// Options to be passed to `PageBlobClient::upload_pages_from_url()`
1991#[derive(Clone, Default, SafeDebug)]
1992pub struct PageBlobClientUploadPagesFromUrlOptions<'a> {
1993 /// Only the Bearer authorization scheme is supported, and the value must be a valid OAuth access token for the copy source.
1994 pub copy_source_authorization: Option<String>,
1995
1996 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
1997 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
1998
1999 /// Specifies the encryption key to use to encrypt the data provided in the request.
2000 pub encryption_key: Option<String>,
2001
2002 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
2003 pub encryption_key_sha256: Option<String>,
2004
2005 /// Specifies the encryption scope used to encrypt the data.
2006 pub encryption_scope: Option<String>,
2007
2008 /// Specifies the file request token intent.
2009 pub file_request_intent: Option<FileShareTokenIntent>,
2010
2011 /// Specify this value to operate only on a blob with a matching Etag value.
2012 pub if_match: Option<Etag>,
2013
2014 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
2015 pub if_modified_since: Option<OffsetDateTime>,
2016
2017 /// Specify this value to operate only on a blob with a non-matching Etag value.
2018 pub if_none_match: Option<Etag>,
2019
2020 /// Specify this value to operate only on a blob if it has the specified sequence number.
2021 pub if_sequence_number_equal_to: Option<i64>,
2022
2023 /// Specify this value to operate only on a blob if it has a sequence number less than the specified.
2024 pub if_sequence_number_less_than: Option<i64>,
2025
2026 /// Specify this value to operate only on a blob if it has a sequence number less than or equal to the specified.
2027 pub if_sequence_number_less_than_or_equal_to: Option<i64>,
2028
2029 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
2030 pub if_tags: Option<String>,
2031
2032 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
2033 pub if_unmodified_since: Option<OffsetDateTime>,
2034
2035 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
2036 pub lease_id: Option<String>,
2037
2038 /// Allows customization of the method call.
2039 pub method_options: ClientMethodOptions<'a>,
2040
2041 /// Specifies the CRC64 calculated for the range of bytes that must be read from the source.
2042 pub source_content_crc64: Option<Vec<u8>>,
2043
2044 /// Specifies the MD5 hash calculated for the range of bytes that must be read from the copy source.
2045 pub source_content_md5: Option<Vec<u8>>,
2046
2047 /// The algorithm used to produce the source encryption key hash. Must be provided if the source encryption key is provided.
2048 pub source_encryption_algorithm: Option<EncryptionAlgorithmType>,
2049
2050 /// Specifies the encryption key to use to decrypt the source data provided in the request.
2051 pub source_encryption_key: Option<String>,
2052
2053 /// The SHA-256 hash of the provided source encryption key. Must be provided if the source encryption key is provided.
2054 pub source_encryption_key_sha256: Option<String>,
2055
2056 /// Specify this value to operate only on a source blob with a matching Etag value.
2057 pub source_if_match: Option<Etag>,
2058
2059 /// Specify this value to operate only on a source blob if it has been modified since the specified date-time.
2060 pub source_if_modified_since: Option<OffsetDateTime>,
2061
2062 /// Specify this value to operate only on a source blob with a non-matching Etag value.
2063 pub source_if_none_match: Option<Etag>,
2064
2065 /// Specify this header value to operate only on a blob if it has not been modified since the specified date-time.
2066 pub source_if_unmodified_since: Option<OffsetDateTime>,
2067
2068 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
2069 pub timeout: Option<i32>,
2070}
2071
2072/// Options to be passed to `PageBlobClient::upload_pages()`
2073#[derive(Clone, Default, SafeDebug)]
2074pub struct PageBlobClientUploadPagesOptions<'a> {
2075 /// The algorithm used to produce the encryption key hash. Must be provided if the encryption key is provided.
2076 pub encryption_algorithm: Option<EncryptionAlgorithmType>,
2077
2078 /// Specifies the encryption key to use to encrypt the data provided in the request.
2079 pub encryption_key: Option<String>,
2080
2081 /// The SHA-256 hash of the provided encryption key. Must be provided if the encryption key is provided.
2082 pub encryption_key_sha256: Option<String>,
2083
2084 /// Specifies the encryption scope used to encrypt the data.
2085 pub encryption_scope: Option<String>,
2086
2087 /// Specify this value to operate only on a blob with a matching Etag value.
2088 pub if_match: Option<Etag>,
2089
2090 /// Specify this value to operate only on a blob if it has been modified since the specified date-time.
2091 pub if_modified_since: Option<OffsetDateTime>,
2092
2093 /// Specify this value to operate only on a blob with a non-matching Etag value.
2094 pub if_none_match: Option<Etag>,
2095
2096 /// Specify this value to operate only on a blob if it has the specified sequence number.
2097 pub if_sequence_number_equal_to: Option<i64>,
2098
2099 /// Specify this value to operate only on a blob if it has a sequence number less than the specified.
2100 pub if_sequence_number_less_than: Option<i64>,
2101
2102 /// Specify this value to operate only on a blob if it has a sequence number less than or equal to the specified.
2103 pub if_sequence_number_less_than_or_equal_to: Option<i64>,
2104
2105 /// Specifies a SQL-like where clause on blob tags to operate only on a blob with matching tags.
2106 pub if_tags: Option<String>,
2107
2108 /// Specify this value to operate only on a blob if it has not been modified since the specified date-time.
2109 pub if_unmodified_since: Option<OffsetDateTime>,
2110
2111 /// If specified, the operation only succeeds if the resource's lease is active and matches this ID.
2112 pub lease_id: Option<String>,
2113
2114 /// Allows customization of the method call.
2115 pub method_options: ClientMethodOptions<'a>,
2116
2117 /// The timeout parameter is expressed in seconds. For more information, see [Setting Timeouts for Blob Service Operations.](\"<https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\>")
2118 pub timeout: Option<i32>,
2119
2120 /// Specifies the transactional CRC64 hash for the body.
2121 pub transactional_content_crc64: Option<Vec<u8>>,
2122
2123 /// Specifies the transactional MD5 hash for the body.
2124 pub transactional_content_md5: Option<Vec<u8>>,
2125}