1use super::{
7 models_serde,
8 xml_helpers::{
9 Blob_itemsBlobItem, Blob_itemsFilterBlobItem, Blob_tag_setBlobTag, Committed_blocksBlock,
10 Container_itemsContainerItem, CorsCorsRule, Uncommitted_blocksBlock,
11 },
12 AccessTier, ArchiveStatus, BlobType, CopyStatus, GeoReplicationStatusType,
13 ImmutabilityPolicyMode, LeaseDuration, LeaseState, LeaseStatus, PublicAccessType,
14 RehydratePriority, StorageErrorCode,
15};
16use crate::models::BlobMetadata;
17use azure_core::{base64, fmt::SafeDebug, http::Etag, time::OffsetDateTime};
18use serde::{Deserialize, Serialize};
19use std::collections::HashMap;
20
21#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
23pub struct AccessPolicy {
24 #[serde(
26 default,
27 rename = "Expiry",
28 skip_serializing_if = "Option::is_none",
29 with = "models_serde::option_offset_date_time_rfc3339_fixed_width"
30 )]
31 pub expiry: Option<OffsetDateTime>,
32
33 #[serde(rename = "Permission", skip_serializing_if = "Option::is_none")]
35 pub permission: Option<String>,
36
37 #[serde(
39 default,
40 rename = "Start",
41 skip_serializing_if = "Option::is_none",
42 with = "models_serde::option_offset_date_time_rfc3339_fixed_width"
43 )]
44 pub start: Option<OffsetDateTime>,
45}
46
47#[derive(SafeDebug)]
49pub struct AppendBlobClientAppendBlockFromUrlResult;
50
51#[derive(SafeDebug)]
53pub struct AppendBlobClientAppendBlockResult;
54
55#[derive(SafeDebug)]
57pub struct AppendBlobClientCreateResult;
58
59#[derive(SafeDebug)]
61pub struct AppendBlobClientSealResult;
62
63#[derive(SafeDebug)]
65pub struct BlobClientAcquireLeaseResult;
66
67#[derive(SafeDebug)]
69pub struct BlobClientBreakLeaseResult;
70
71#[derive(SafeDebug)]
73pub struct BlobClientChangeLeaseResult;
74
75#[derive(SafeDebug)]
77pub struct BlobClientCreateSnapshotResult;
78
79#[derive(SafeDebug)]
81pub(crate) struct BlobClientDownloadInternalResult;
82
83#[derive(SafeDebug)]
85pub struct BlobClientGetAccountInfoResult;
86
87#[derive(SafeDebug)]
89pub struct BlobClientGetPropertiesResult;
90
91#[derive(SafeDebug)]
93pub struct BlobClientReleaseLeaseResult;
94
95#[derive(SafeDebug)]
97pub struct BlobClientRenewLeaseResult;
98
99#[derive(SafeDebug)]
101pub struct BlobContainerClientAcquireLeaseResult;
102
103#[derive(SafeDebug)]
105pub struct BlobContainerClientBreakLeaseResult;
106
107#[derive(SafeDebug)]
109pub struct BlobContainerClientChangeLeaseResult;
110
111#[derive(SafeDebug)]
113pub struct BlobContainerClientGetAccountInfoResult;
114
115#[derive(SafeDebug)]
117pub struct BlobContainerClientGetPropertiesResult;
118
119#[derive(SafeDebug)]
121pub struct BlobContainerClientReleaseLeaseResult;
122
123#[derive(SafeDebug)]
125pub struct BlobContainerClientRenewLeaseResult;
126
127#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
129#[non_exhaustive]
130#[serde(rename = "Blob")]
131pub struct BlobItem {
132 #[serde(rename = "Tags", skip_serializing_if = "Option::is_none")]
134 pub blob_tags: Option<BlobTags>,
135
136 #[serde(rename = "Deleted", skip_serializing_if = "Option::is_none")]
138 pub deleted: Option<bool>,
139
140 #[serde(rename = "HasVersionsOnly", skip_serializing_if = "Option::is_none")]
142 pub has_versions_only: Option<bool>,
143
144 #[serde(rename = "IsCurrentVersion", skip_serializing_if = "Option::is_none")]
146 pub is_current_version: Option<bool>,
147
148 #[serde(rename = "Metadata", skip_serializing_if = "Option::is_none")]
150 pub metadata: Option<BlobMetadata>,
151
152 #[serde(
154 deserialize_with = "crate::models::blob_name::option::deserialize",
155 rename = "Name",
156 skip_serializing_if = "Option::is_none"
157 )]
158 pub name: Option<String>,
159
160 #[serde(rename = "OrMetadata", skip_serializing_if = "Option::is_none")]
162 pub object_replication_metadata: Option<ObjectReplicationMetadata>,
163
164 #[serde(rename = "Properties", skip_serializing_if = "Option::is_none")]
166 pub properties: Option<BlobProperties>,
167
168 #[serde(rename = "Snapshot", skip_serializing_if = "Option::is_none")]
170 pub snapshot: Option<String>,
171
172 #[serde(rename = "VersionId", skip_serializing_if = "Option::is_none")]
174 pub version_id: Option<String>,
175}
176
177#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
179#[non_exhaustive]
180pub struct BlobName {
181 #[serde(rename = "$text", skip_serializing_if = "Option::is_none")]
183 pub content: Option<String>,
184
185 #[serde(rename = "@Encoded", skip_serializing_if = "Option::is_none")]
187 pub encoded: Option<bool>,
188}
189
190#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
192#[non_exhaustive]
193#[serde(rename = "Properties")]
194pub struct BlobProperties {
195 #[serde(rename = "AccessTier", skip_serializing_if = "Option::is_none")]
197 pub access_tier: Option<AccessTier>,
198
199 #[serde(
201 default,
202 rename = "AccessTierChangeTime",
203 skip_serializing_if = "Option::is_none",
204 with = "azure_core::time::rfc7231::option"
205 )]
206 pub access_tier_change_time: Option<OffsetDateTime>,
207
208 #[serde(rename = "AccessTierInferred", skip_serializing_if = "Option::is_none")]
210 pub access_tier_inferred: Option<bool>,
211
212 #[serde(rename = "ArchiveStatus", skip_serializing_if = "Option::is_none")]
214 pub archive_status: Option<ArchiveStatus>,
215
216 #[serde(
218 rename = "x-ms-blob-sequence-number",
219 skip_serializing_if = "Option::is_none"
220 )]
221 pub blob_sequence_number: Option<i64>,
222
223 #[serde(rename = "BlobType", skip_serializing_if = "Option::is_none")]
225 pub blob_type: Option<BlobType>,
226
227 #[serde(rename = "Cache-Control", skip_serializing_if = "Option::is_none")]
229 pub cache_control: Option<String>,
230
231 #[serde(
233 rename = "Content-Disposition",
234 skip_serializing_if = "Option::is_none"
235 )]
236 pub content_disposition: Option<String>,
237
238 #[serde(rename = "Content-Encoding", skip_serializing_if = "Option::is_none")]
240 pub content_encoding: Option<String>,
241
242 #[serde(rename = "Content-Language", skip_serializing_if = "Option::is_none")]
244 pub content_language: Option<String>,
245
246 #[serde(rename = "Content-Length", skip_serializing_if = "Option::is_none")]
248 pub content_length: Option<u64>,
249
250 #[serde(
252 default,
253 deserialize_with = "base64::option::deserialize",
254 rename = "Content-MD5",
255 serialize_with = "base64::option::serialize",
256 skip_serializing_if = "Option::is_none"
257 )]
258 pub content_md5: Option<Vec<u8>>,
259
260 #[serde(rename = "Content-Type", skip_serializing_if = "Option::is_none")]
262 pub content_type: Option<String>,
263
264 #[serde(
266 default,
267 rename = "CopyCompletionTime",
268 skip_serializing_if = "Option::is_none",
269 with = "azure_core::time::rfc7231::option"
270 )]
271 pub copy_completion_time: Option<OffsetDateTime>,
272
273 #[serde(rename = "CopyId", skip_serializing_if = "Option::is_none")]
275 pub copy_id: Option<String>,
276
277 #[serde(rename = "CopyProgress", skip_serializing_if = "Option::is_none")]
279 pub copy_progress: Option<String>,
280
281 #[serde(rename = "CopySource", skip_serializing_if = "Option::is_none")]
283 pub copy_source: Option<String>,
284
285 #[serde(rename = "CopyStatus", skip_serializing_if = "Option::is_none")]
287 pub copy_status: Option<CopyStatus>,
288
289 #[serde(
291 rename = "CopyStatusDescription",
292 skip_serializing_if = "Option::is_none"
293 )]
294 pub copy_status_description: Option<String>,
295
296 #[serde(
298 default,
299 rename = "Creation-Time",
300 skip_serializing_if = "Option::is_none",
301 with = "azure_core::time::rfc7231::option"
302 )]
303 pub creation_time: Option<OffsetDateTime>,
304
305 #[serde(
307 default,
308 rename = "DeletedTime",
309 skip_serializing_if = "Option::is_none",
310 with = "azure_core::time::rfc7231::option"
311 )]
312 pub deleted_time: Option<OffsetDateTime>,
313
314 #[serde(
316 rename = "DestinationSnapshot",
317 skip_serializing_if = "Option::is_none"
318 )]
319 pub destination_snapshot: Option<String>,
320
321 #[serde(
323 rename = "CustomerProvidedKeySha256",
324 skip_serializing_if = "Option::is_none"
325 )]
326 pub encryption_key_sha256: Option<String>,
327
328 #[serde(rename = "EncryptionScope", skip_serializing_if = "Option::is_none")]
330 pub encryption_scope: Option<String>,
331
332 #[serde(rename = "Etag", skip_serializing_if = "Option::is_none")]
334 pub etag: Option<Etag>,
335
336 #[serde(
338 default,
339 rename = "Expiry-Time",
340 skip_serializing_if = "Option::is_none",
341 with = "azure_core::time::rfc7231::option"
342 )]
343 pub expires_on: Option<OffsetDateTime>,
344
345 #[serde(
347 default,
348 rename = "ImmutabilityPolicyUntilDate",
349 skip_serializing_if = "Option::is_none",
350 with = "azure_core::time::rfc7231::option"
351 )]
352 pub immutability_policy_expires_on: Option<OffsetDateTime>,
353
354 #[serde(
356 rename = "ImmutabilityPolicyMode",
357 skip_serializing_if = "Option::is_none"
358 )]
359 pub immutability_policy_mode: Option<ImmutabilityPolicyMode>,
360
361 #[serde(rename = "IncrementalCopy", skip_serializing_if = "Option::is_none")]
363 pub incremental_copy: Option<bool>,
364
365 #[serde(rename = "Sealed", skip_serializing_if = "Option::is_none")]
367 pub is_sealed: Option<bool>,
368
369 #[serde(
371 default,
372 rename = "LastAccessTime",
373 skip_serializing_if = "Option::is_none",
374 with = "azure_core::time::rfc7231::option"
375 )]
376 pub last_accessed_on: Option<OffsetDateTime>,
377
378 #[serde(
380 default,
381 rename = "Last-Modified",
382 skip_serializing_if = "Option::is_none",
383 with = "azure_core::time::rfc7231::option"
384 )]
385 pub last_modified: Option<OffsetDateTime>,
386
387 #[serde(rename = "LeaseDuration", skip_serializing_if = "Option::is_none")]
389 pub lease_duration: Option<LeaseDuration>,
390
391 #[serde(rename = "LeaseState", skip_serializing_if = "Option::is_none")]
393 pub lease_state: Option<LeaseState>,
394
395 #[serde(rename = "LeaseStatus", skip_serializing_if = "Option::is_none")]
397 pub lease_status: Option<LeaseStatus>,
398
399 #[serde(rename = "LegalHold", skip_serializing_if = "Option::is_none")]
401 pub legal_hold: Option<bool>,
402
403 #[serde(rename = "RehydratePriority", skip_serializing_if = "Option::is_none")]
405 pub rehydrate_priority: Option<RehydratePriority>,
406
407 #[serde(
409 rename = "RemainingRetentionDays",
410 skip_serializing_if = "Option::is_none"
411 )]
412 pub remaining_retention_days: Option<i32>,
413
414 #[serde(rename = "ServerEncrypted", skip_serializing_if = "Option::is_none")]
416 pub server_encrypted: Option<bool>,
417
418 #[serde(rename = "TagCount", skip_serializing_if = "Option::is_none")]
420 pub tag_count: Option<i32>,
421}
422
423#[derive(SafeDebug)]
425pub struct BlobServiceClientGetAccountInfoResult;
426
427#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
429#[serde(rename = "StorageServiceProperties")]
430pub struct BlobServiceProperties {
431 #[serde(
433 default,
434 deserialize_with = "CorsCorsRule::unwrap",
435 rename = "Cors",
436 serialize_with = "CorsCorsRule::wrap",
437 skip_serializing_if = "Option::is_none"
438 )]
439 pub cors: Option<Vec<CorsRule>>,
440
441 #[serde(
443 rename = "DefaultServiceVersion",
444 skip_serializing_if = "Option::is_none"
445 )]
446 pub default_service_version: Option<String>,
447
448 #[serde(
450 rename = "DeleteRetentionPolicy",
451 skip_serializing_if = "Option::is_none"
452 )]
453 pub delete_retention_policy: Option<RetentionPolicy>,
454
455 #[serde(rename = "HourMetrics", skip_serializing_if = "Option::is_none")]
457 pub hour_metrics: Option<Metrics>,
458
459 #[serde(rename = "Logging", skip_serializing_if = "Option::is_none")]
461 pub logging: Option<Logging>,
462
463 #[serde(rename = "MinuteMetrics", skip_serializing_if = "Option::is_none")]
465 pub minute_metrics: Option<Metrics>,
466
467 #[serde(rename = "StaticWebsite", skip_serializing_if = "Option::is_none")]
469 pub static_website: Option<StaticWebsite>,
470}
471
472#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
474#[serde(rename = "Tag")]
475pub struct BlobTag {
476 #[serde(rename = "Key", skip_serializing_if = "Option::is_none")]
478 pub key: Option<String>,
479
480 #[serde(rename = "Value", skip_serializing_if = "Option::is_none")]
482 pub value: Option<String>,
483}
484
485#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
487#[serde(rename = "Tags")]
488pub struct BlobTags {
489 #[serde(
491 default,
492 deserialize_with = "Blob_tag_setBlobTag::unwrap",
493 rename = "TagSet",
494 serialize_with = "Blob_tag_setBlobTag::wrap",
495 skip_serializing_if = "Option::is_none"
496 )]
497 pub blob_tag_set: Option<Vec<BlobTag>>,
498}
499
500#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
502#[non_exhaustive]
503pub struct Block {
504 #[serde(
506 default,
507 deserialize_with = "base64::option::deserialize",
508 rename = "Name",
509 serialize_with = "base64::option::serialize",
510 skip_serializing_if = "Option::is_none"
511 )]
512 pub name: Option<Vec<u8>>,
513
514 #[serde(rename = "Size", skip_serializing_if = "Option::is_none")]
516 pub size: Option<i64>,
517}
518
519#[derive(SafeDebug)]
521pub struct BlockBlobClientCommitBlockListResult;
522
523#[derive(SafeDebug)]
525pub struct BlockBlobClientStageBlockFromUrlResult;
526
527#[derive(SafeDebug)]
529pub struct BlockBlobClientStageBlockResult;
530
531#[derive(SafeDebug)]
533pub struct BlockBlobClientUploadBlobFromUrlResult;
534
535#[derive(SafeDebug)]
537pub(crate) struct BlockBlobClientUploadInternalResult;
538
539#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
541#[non_exhaustive]
542pub struct BlockList {
543 #[serde(
545 default,
546 deserialize_with = "Committed_blocksBlock::unwrap",
547 rename = "CommittedBlocks",
548 serialize_with = "Committed_blocksBlock::wrap",
549 skip_serializing_if = "Option::is_none"
550 )]
551 pub committed_blocks: Option<Vec<Block>>,
552
553 #[serde(
555 default,
556 deserialize_with = "Uncommitted_blocksBlock::unwrap",
557 rename = "UncommittedBlocks",
558 serialize_with = "Uncommitted_blocksBlock::wrap",
559 skip_serializing_if = "Option::is_none"
560 )]
561 pub uncommitted_blocks: Option<Vec<Block>>,
562}
563
564#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
566#[serde(rename = "BlockList")]
567pub struct BlockLookupList {
568 #[serde(
570 default,
571 rename = "Committed",
572 skip_serializing_if = "Option::is_none",
573 with = "models_serde::option_vec_encoded_bytes_std"
574 )]
575 pub committed: Option<Vec<Vec<u8>>>,
576
577 #[serde(
579 default,
580 rename = "Latest",
581 skip_serializing_if = "Option::is_none",
582 with = "models_serde::option_vec_encoded_bytes_std"
583 )]
584 pub latest: Option<Vec<Vec<u8>>>,
585
586 #[serde(
588 default,
589 rename = "Uncommitted",
590 skip_serializing_if = "Option::is_none",
591 with = "models_serde::option_vec_encoded_bytes_std"
592 )]
593 pub uncommitted: Option<Vec<Vec<u8>>>,
594}
595
596#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
598#[non_exhaustive]
599#[serde(rename = "Container")]
600pub struct ContainerItem {
601 #[serde(rename = "Deleted", skip_serializing_if = "Option::is_none")]
603 pub deleted: Option<bool>,
604
605 #[serde(rename = "Metadata", skip_serializing_if = "Option::is_none")]
607 pub metadata: Option<HashMap<String, String>>,
608
609 #[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
611 pub name: Option<String>,
612
613 #[serde(rename = "Properties", skip_serializing_if = "Option::is_none")]
615 pub properties: Option<ContainerProperties>,
616
617 #[serde(rename = "Version", skip_serializing_if = "Option::is_none")]
619 pub version: Option<String>,
620}
621
622#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
624#[non_exhaustive]
625pub struct ContainerProperties {
626 #[serde(
628 rename = "DefaultEncryptionScope",
629 skip_serializing_if = "Option::is_none"
630 )]
631 pub default_encryption_scope: Option<String>,
632
633 #[serde(
635 default,
636 rename = "DeletedTime",
637 skip_serializing_if = "Option::is_none",
638 with = "azure_core::time::rfc7231::option"
639 )]
640 pub deleted_time: Option<OffsetDateTime>,
641
642 #[serde(rename = "Etag", skip_serializing_if = "Option::is_none")]
644 pub etag: Option<Etag>,
645
646 #[serde(
648 rename = "HasImmutabilityPolicy",
649 skip_serializing_if = "Option::is_none"
650 )]
651 pub has_immutability_policy: Option<bool>,
652
653 #[serde(rename = "HasLegalHold", skip_serializing_if = "Option::is_none")]
655 pub has_legal_hold: Option<bool>,
656
657 #[serde(
659 rename = "ImmutableStorageWithVersioningEnabled",
660 skip_serializing_if = "Option::is_none"
661 )]
662 pub is_immutable_storage_with_versioning_enabled: Option<bool>,
663
664 #[serde(
666 default,
667 rename = "Last-Modified",
668 skip_serializing_if = "Option::is_none",
669 with = "azure_core::time::rfc7231::option"
670 )]
671 pub last_modified: Option<OffsetDateTime>,
672
673 #[serde(rename = "LeaseDuration", skip_serializing_if = "Option::is_none")]
675 pub lease_duration: Option<LeaseDuration>,
676
677 #[serde(rename = "LeaseState", skip_serializing_if = "Option::is_none")]
679 pub lease_state: Option<LeaseState>,
680
681 #[serde(rename = "LeaseStatus", skip_serializing_if = "Option::is_none")]
683 pub lease_status: Option<LeaseStatus>,
684
685 #[serde(
687 rename = "DenyEncryptionScopeOverride",
688 skip_serializing_if = "Option::is_none"
689 )]
690 pub prevent_encryption_scope_override: Option<bool>,
691
692 #[serde(rename = "PublicAccess", skip_serializing_if = "Option::is_none")]
694 pub public_access: Option<PublicAccessType>,
695
696 #[serde(
698 rename = "RemainingRetentionDays",
699 skip_serializing_if = "Option::is_none"
700 )]
701 pub remaining_retention_days: Option<i32>,
702}
703
704#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
706#[serde(rename = "CorsRule")]
707pub struct CorsRule {
708 #[serde(rename = "AllowedHeaders", skip_serializing_if = "Option::is_none")]
710 pub allowed_headers: Option<String>,
711
712 #[serde(rename = "AllowedMethods", skip_serializing_if = "Option::is_none")]
714 pub allowed_methods: Option<String>,
715
716 #[serde(rename = "AllowedOrigins", skip_serializing_if = "Option::is_none")]
718 pub allowed_origins: Option<String>,
719
720 #[serde(rename = "ExposedHeaders", skip_serializing_if = "Option::is_none")]
722 pub exposed_headers: Option<String>,
723
724 #[serde(rename = "MaxAgeInSeconds", skip_serializing_if = "Option::is_none")]
726 pub max_age_in_seconds: Option<i32>,
727}
728
729#[derive(Clone, Deserialize, SafeDebug, Serialize)]
733pub struct Error {
734 #[serde(rename = "Code", skip_serializing_if = "Option::is_none")]
736 pub code: Option<StorageErrorCode>,
737
738 #[serde(
740 rename = "CopySourceErrorCode",
741 skip_serializing_if = "Option::is_none"
742 )]
743 pub copy_source_error_code: Option<String>,
744
745 #[serde(
747 rename = "CopySourceErrorMessage",
748 skip_serializing_if = "Option::is_none"
749 )]
750 pub copy_source_error_message: Option<String>,
751
752 #[serde(
754 rename = "CopySourceStatusCode",
755 skip_serializing_if = "Option::is_none"
756 )]
757 pub copy_source_status_code: Option<i32>,
758
759 #[serde(rename = "errorCode", skip_serializing_if = "Option::is_none")]
761 pub error_code: Option<String>,
762
763 #[serde(rename = "Message", skip_serializing_if = "Option::is_none")]
765 pub message: Option<String>,
766
767 #[serde(
769 rename = "xMsCopySourceErrorCode",
770 skip_serializing_if = "Option::is_none"
771 )]
772 pub x_ms_copy_source_error_code: Option<String>,
773
774 #[serde(
776 rename = "xMsCopySourceStatusCode",
777 skip_serializing_if = "Option::is_none"
778 )]
779 pub x_ms_copy_source_status_code: Option<i32>,
780}
781
782#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
784#[non_exhaustive]
785#[serde(rename = "Blob")]
786pub struct FilterBlobItem {
787 #[serde(rename = "ContainerName", skip_serializing_if = "Option::is_none")]
789 pub container_name: Option<String>,
790
791 #[serde(rename = "IsCurrentVersion", skip_serializing_if = "Option::is_none")]
793 pub is_current_version: Option<bool>,
794
795 #[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
797 pub name: Option<String>,
798
799 #[serde(rename = "Tags", skip_serializing_if = "Option::is_none")]
801 pub tags: Option<BlobTags>,
802
803 #[serde(rename = "VersionId", skip_serializing_if = "Option::is_none")]
805 pub version_id: Option<String>,
806}
807
808#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
810#[non_exhaustive]
811#[serde(rename = "EnumerationResults")]
812pub struct FilteredBlobResponse {
813 #[serde(
815 default,
816 deserialize_with = "Blob_itemsFilterBlobItem::unwrap",
817 rename = "Blobs",
818 serialize_with = "Blob_itemsFilterBlobItem::wrap"
819 )]
820 pub blob_items: Vec<FilterBlobItem>,
821
822 #[serde(rename = "NextMarker", skip_serializing_if = "Option::is_none")]
825 pub next_marker: Option<String>,
826
827 #[serde(rename = "@ServiceEndpoint", skip_serializing_if = "Option::is_none")]
829 pub service_endpoint: Option<String>,
830
831 #[serde(rename = "Where", skip_serializing_if = "Option::is_none")]
833 pub where_prop: Option<String>,
834}
835
836#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
838#[non_exhaustive]
839pub struct GeoReplication {
840 #[serde(
843 default,
844 rename = "LastSyncTime",
845 skip_serializing_if = "Option::is_none",
846 with = "azure_core::time::rfc7231::option"
847 )]
848 pub last_sync_time: Option<OffsetDateTime>,
849
850 #[serde(rename = "Status", skip_serializing_if = "Option::is_none")]
852 pub status: Option<GeoReplicationStatusType>,
853}
854
855#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
857#[non_exhaustive]
858#[serde(rename = "EnumerationResults")]
859pub struct ListBlobsResponse {
860 #[serde(
862 default,
863 deserialize_with = "Blob_itemsBlobItem::unwrap",
864 rename = "Blobs",
865 serialize_with = "Blob_itemsBlobItem::wrap"
866 )]
867 pub blob_items: Vec<BlobItem>,
868
869 #[serde(rename = "@ContainerName", skip_serializing_if = "Option::is_none")]
871 pub container_name: Option<String>,
872
873 #[serde(rename = "Marker", skip_serializing_if = "Option::is_none")]
875 pub marker: Option<String>,
876
877 #[serde(rename = "MaxResults", skip_serializing_if = "Option::is_none")]
879 pub max_results: Option<i32>,
880
881 #[serde(rename = "NextMarker", skip_serializing_if = "Option::is_none")]
884 pub next_marker: Option<String>,
885
886 #[serde(rename = "Prefix", skip_serializing_if = "Option::is_none")]
888 pub prefix: Option<String>,
889
890 #[serde(rename = "@ServiceEndpoint", skip_serializing_if = "Option::is_none")]
892 pub service_endpoint: Option<String>,
893}
894
895#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
897#[non_exhaustive]
898#[serde(rename = "EnumerationResults")]
899pub struct ListContainersResponse {
900 #[serde(
902 default,
903 deserialize_with = "Container_itemsContainerItem::unwrap",
904 rename = "Containers",
905 serialize_with = "Container_itemsContainerItem::wrap"
906 )]
907 pub container_items: Vec<ContainerItem>,
908
909 #[serde(rename = "Marker", skip_serializing_if = "Option::is_none")]
911 pub marker: Option<String>,
912
913 #[serde(rename = "MaxResults", skip_serializing_if = "Option::is_none")]
915 pub max_results: Option<i32>,
916
917 #[serde(rename = "NextMarker", skip_serializing_if = "Option::is_none")]
920 pub next_marker: Option<String>,
921
922 #[serde(rename = "Prefix", skip_serializing_if = "Option::is_none")]
924 pub prefix: Option<String>,
925
926 #[serde(rename = "@ServiceEndpoint", skip_serializing_if = "Option::is_none")]
928 pub service_endpoint: Option<String>,
929}
930
931#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
933pub struct Logging {
934 #[serde(rename = "Delete", skip_serializing_if = "Option::is_none")]
936 pub delete: Option<bool>,
937
938 #[serde(rename = "Read", skip_serializing_if = "Option::is_none")]
940 pub read: Option<bool>,
941
942 #[serde(rename = "RetentionPolicy", skip_serializing_if = "Option::is_none")]
944 pub retention_policy: Option<RetentionPolicy>,
945
946 #[serde(rename = "Version", skip_serializing_if = "Option::is_none")]
948 pub version: Option<String>,
949
950 #[serde(rename = "Write", skip_serializing_if = "Option::is_none")]
952 pub write: Option<bool>,
953}
954
955#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
957pub struct Metrics {
958 #[serde(rename = "Enabled", skip_serializing_if = "Option::is_none")]
960 pub enabled: Option<bool>,
961
962 #[serde(rename = "IncludeAPIs", skip_serializing_if = "Option::is_none")]
964 pub include_apis: Option<bool>,
965
966 #[serde(rename = "RetentionPolicy", skip_serializing_if = "Option::is_none")]
968 pub retention_policy: Option<RetentionPolicy>,
969
970 #[serde(rename = "Version", skip_serializing_if = "Option::is_none")]
972 pub version: Option<String>,
973}
974
975#[derive(Clone, Default, SafeDebug)]
977#[non_exhaustive]
978pub struct ObjectReplicationMetadata {
979 pub additional_properties: Option<HashMap<String, String>>,
981}
982
983#[derive(SafeDebug)]
985pub struct PageBlobClientClearPagesResult;
986
987#[derive(SafeDebug)]
989pub struct PageBlobClientCreateResult;
990
991#[derive(SafeDebug)]
993pub struct PageBlobClientResizeResult;
994
995#[derive(SafeDebug)]
997pub struct PageBlobClientSetSequenceNumberResult;
998
999#[derive(SafeDebug)]
1001pub struct PageBlobClientUploadPagesFromUrlResult;
1002
1003#[derive(SafeDebug)]
1005pub struct PageBlobClientUploadPagesResult;
1006
1007#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
1009pub struct RetentionPolicy {
1010 #[serde(
1012 rename = "AllowPermanentDelete",
1013 skip_serializing_if = "Option::is_none"
1014 )]
1015 pub allow_permanent_delete: Option<bool>,
1016
1017 #[serde(rename = "Days", skip_serializing_if = "Option::is_none")]
1019 pub days: Option<i32>,
1020
1021 #[serde(rename = "Enabled", skip_serializing_if = "Option::is_none")]
1023 pub enabled: Option<bool>,
1024}
1025
1026#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
1028#[serde(rename = "SignedIdentifier")]
1029pub struct SignedIdentifier {
1030 #[serde(rename = "AccessPolicy", skip_serializing_if = "Option::is_none")]
1032 pub access_policy: Option<AccessPolicy>,
1033
1034 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
1036 pub id: Option<String>,
1037}
1038
1039#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
1041pub struct SignedIdentifiers {
1042 #[serde(rename = "SignedIdentifier", skip_serializing_if = "Option::is_none")]
1044 pub items: Option<Vec<SignedIdentifier>>,
1045}
1046
1047#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
1049pub struct StaticWebsite {
1050 #[serde(
1052 rename = "DefaultIndexDocumentPath",
1053 skip_serializing_if = "Option::is_none"
1054 )]
1055 pub default_index_document_path: Option<String>,
1056
1057 #[serde(rename = "Enabled", skip_serializing_if = "Option::is_none")]
1059 pub enabled: Option<bool>,
1060
1061 #[serde(
1063 rename = "ErrorDocument404Path",
1064 skip_serializing_if = "Option::is_none"
1065 )]
1066 pub error_document404_path: Option<String>,
1067
1068 #[serde(rename = "IndexDocument", skip_serializing_if = "Option::is_none")]
1070 pub index_document: Option<String>,
1071}
1072
1073#[derive(Clone, Default, Deserialize, SafeDebug, Serialize)]
1075#[non_exhaustive]
1076pub struct StorageServiceStats {
1077 #[serde(rename = "GeoReplication", skip_serializing_if = "Option::is_none")]
1079 pub geo_replication: Option<GeoReplication>,
1080}