Skip to main content

azure_storage_blob/generated/models/
enums.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
6/// The access tiers.
7#[derive(Clone, Debug, Eq, PartialEq)]
8pub enum AccessTier {
9    /// The Archive access tier.
10    Archive,
11
12    /// The Cold access tier.
13    Cold,
14
15    /// The Cool access tier.
16    Cool,
17
18    /// The Hot access tier.
19    Hot,
20
21    /// The P10 access tier.
22    P10,
23
24    /// The P15 access tier.
25    P15,
26
27    /// The P20 access tier.
28    P20,
29
30    /// The P30 access tier.
31    P30,
32
33    /// The P4 access tier.
34    P4,
35
36    /// The P40 access tier.
37    P40,
38
39    /// The P50 access tier.
40    P50,
41
42    /// The P6 access tier.
43    P6,
44
45    /// The P60 access tier.
46    P60,
47
48    /// The P70 access tier.
49    P70,
50
51    /// The P80 access tier.
52    P80,
53
54    /// The Premium access tier.
55    Premium,
56
57    /// Any other value not defined in `AccessTier`.
58    UnknownValue(String),
59}
60
61/// The account kind.
62#[derive(Clone, Copy, Debug, Eq, PartialEq)]
63pub enum AccountKind {
64    /// A blob storage account.
65    BlobStorage,
66
67    /// A block blob storage account.
68    BlockBlobStorage,
69
70    /// A file storage account.
71    FileStorage,
72
73    /// A general-purpose account.
74    Storage,
75
76    /// A storage V2 account.
77    StorageV2,
78}
79
80/// The archive status.
81#[derive(Clone, Debug, Eq, PartialEq)]
82pub enum ArchiveStatus {
83    /// The archive status is rehydrating pending to Cold.
84    RehydratePendingToCold,
85
86    /// The archive status is rehydrating pending to Cool.
87    RehydratePendingToCool,
88
89    /// The archive status is rehydrating pending to Hot.
90    RehydratePendingToHot,
91
92    /// Any other value not defined in `ArchiveStatus`.
93    UnknownValue(String),
94}
95
96/// The blob copy source tags types.
97#[derive(Clone, Copy, Debug, Eq, PartialEq)]
98pub enum BlobCopySourceTags {
99    /// The blob tags will be copied from the source.
100    Copy,
101
102    /// The blob tags will be replaced.
103    Replace,
104}
105
106/// The type of blob deletions.
107#[derive(Clone, Copy, Debug, Eq, PartialEq)]
108pub enum BlobDeleteType {
109    /// Permanently delete the blob.
110    Permanent,
111}
112
113/// The blob type.
114#[derive(Clone, Copy, Debug, Eq, PartialEq)]
115pub enum BlobType {
116    /// The blob is an append blob.
117    AppendBlob,
118
119    /// The blob is a block blob.
120    BlockBlob,
121
122    /// The blob is a page blob.
123    PageBlob,
124}
125
126/// The block list types.
127#[derive(Clone, Copy, Debug, Eq, PartialEq)]
128pub enum BlockListType {
129    /// Both committed and uncommitted blocks.
130    All,
131
132    /// Committed blocks.
133    Committed,
134
135    /// Uncommitted blocks.
136    Uncommitted,
137}
138
139/// The copy status.
140#[derive(Clone, Copy, Debug, Eq, PartialEq)]
141pub enum CopyStatus {
142    /// The copy operation was aborted.
143    Aborted,
144
145    /// The copy operation failed.
146    Failed,
147
148    /// The copy operation is pending.
149    Pending,
150
151    /// The copy operation succeeded.
152    Success,
153}
154
155/// Specifies the delete behavior of blob snapshots.
156#[derive(Clone, Copy, Debug, Eq, PartialEq)]
157pub enum DeleteSnapshotsOptionType {
158    /// Delete the blob and snapshots.
159    Include,
160
161    /// Only delete the snapshots.
162    Only,
163}
164
165/// The algorithm used to produce the encryption key hash.
166#[derive(Clone, Copy, Debug, Eq, PartialEq)]
167pub enum EncryptionAlgorithmType {
168    /// The AES256 encryption algorithm.
169    Aes256,
170}
171
172/// The file share token intent types.
173#[derive(Clone, Debug, Eq, PartialEq)]
174pub enum FileShareTokenIntent {
175    /// The file share token intent is backup.
176    Backup,
177
178    /// Any other value not defined in `FileShareTokenIntent`.
179    UnknownValue(String),
180}
181
182/// Specifies what type of blobs should be returned as part of the filter operation.
183#[derive(Clone, Copy, Debug, Eq, PartialEq)]
184pub enum FilterBlobsIncludeItem {
185    /// The filter includes no versions.
186    None,
187
188    /// The filter includes versions.
189    Versions,
190}
191
192/// The geo-replication status.
193#[derive(Clone, Debug, Eq, PartialEq)]
194pub enum GeoReplicationStatusType {
195    /// Geo-replication is bootstrap.
196    Bootstrap,
197
198    /// Geo-replication is live.
199    Live,
200
201    /// Geo-replication is unavailable.
202    Unavailable,
203
204    /// Any other value not defined in `GeoReplicationStatusType`.
205    UnknownValue(String),
206}
207
208/// The immutability policy mode.
209#[derive(Clone, Copy, Debug, Eq, PartialEq)]
210pub enum ImmutabilityPolicyMode {
211    /// The immutability policy is locked.
212    Locked,
213
214    /// Response only. The immutability policy is mutable.
215    Mutable,
216
217    /// The immutability policy is unlocked.
218    Unlocked,
219}
220
221/// The lease duration.
222#[derive(Clone, Copy, Debug, Eq, PartialEq)]
223pub enum LeaseDuration {
224    /// The lease is of fixed duration.
225    Fixed,
226
227    /// The lease is of infinite duration.
228    Infinite,
229}
230
231/// The lease state.
232#[derive(Clone, Copy, Debug, Eq, PartialEq)]
233pub enum LeaseState {
234    /// The lease is available.
235    Available,
236
237    /// The lease is breaking.
238    Breaking,
239
240    /// The lease is broken.
241    Broken,
242
243    /// The lease is expired.
244    Expired,
245
246    /// The lease is currently leased.
247    Leased,
248}
249
250/// The lease status.
251#[derive(Clone, Copy, Debug, Eq, PartialEq)]
252pub enum LeaseStatus {
253    /// The lease is locked.
254    Locked,
255
256    /// The lease is unlocked.
257    Unlocked,
258}
259
260/// Specifies additional datasets to include when listing blobs in a container.
261#[derive(Clone, Copy, Debug, Eq, PartialEq)]
262pub enum ListBlobsIncludeItem {
263    /// Include copies.
264    Copy,
265
266    /// Include deleted blobs.
267    Deleted,
268
269    /// Include deleted with versions.
270    DeletedWithVersions,
271
272    /// Include immutability policies.
273    ImmutabilityPolicy,
274
275    /// Include legal hold.
276    LegalHold,
277
278    /// Include metadata.
279    Metadata,
280
281    /// Include snapshots.
282    Snapshots,
283
284    /// Include tags.
285    Tags,
286
287    /// Include uncommitted blobs.
288    UncommittedBlobs,
289
290    /// Include versions.
291    Versions,
292}
293
294/// Specifies what additional information should be returned as part of the list operation.
295#[derive(Clone, Copy, Debug, Eq, PartialEq)]
296pub enum ListContainersIncludeType {
297    /// Include soft-deleted containers.
298    Deleted,
299
300    /// Include metadata.
301    Metadata,
302
303    /// Include system containers.
304    System,
305}
306
307/// The premium page blob access tier types.
308#[derive(Clone, Debug, Eq, PartialEq)]
309pub enum PremiumPageBlobAccessTier {
310    /// The premium page blob access tier is P10.
311    P10,
312
313    /// The premium page blob access tier is P15.
314    P15,
315
316    /// The premium page blob access tier is P20.
317    P20,
318
319    /// The premium page blob access tier is P30.
320    P30,
321
322    /// The premium page blob access tier is P4.
323    P4,
324
325    /// The premium page blob access tier is P40.
326    P40,
327
328    /// The premium page blob access tier is P50.
329    P50,
330
331    /// The premium page blob access tier is P6.
332    P6,
333
334    /// The premium page blob access tier is P60.
335    P60,
336
337    /// The premium page blob access tier is P70.
338    P70,
339
340    /// The premium page blob access tier is P80.
341    P80,
342
343    /// Any other value not defined in `PremiumPageBlobAccessTier`.
344    UnknownValue(String),
345}
346
347/// The public access type.
348#[derive(Clone, Debug, Eq, PartialEq)]
349pub enum PublicAccessType {
350    /// Blob access.
351    Blob,
352
353    /// Container access.
354    Container,
355
356    /// Any other value not defined in `PublicAccessType`.
357    UnknownValue(String),
358}
359
360/// The priority of the rehydrate operation.
361#[derive(Clone, Debug, Eq, PartialEq)]
362pub enum RehydratePriority {
363    /// The rehydrate priority is high.
364    High,
365
366    /// The rehydrate priority is standard.
367    Standard,
368
369    /// Any other value not defined in `RehydratePriority`.
370    UnknownValue(String),
371}
372
373/// The sequence number actions.
374#[derive(Clone, Copy, Debug, Eq, PartialEq)]
375pub enum SequenceNumberActionType {
376    /// Increment the sequence number.
377    Increment,
378
379    /// Set the maximum for the sequence number.
380    Max,
381
382    /// Update the sequence number.
383    Update,
384}
385
386/// The account SKU.
387#[derive(Clone, Copy, Debug, Eq, PartialEq)]
388pub enum SkuName {
389    /// The premium LRS SKU.
390    PremiumLrs,
391
392    /// The premium ZRS SKU.
393    PremiumZrs,
394
395    /// The standard GRS SKU.
396    StandardGrs,
397
398    /// The standard GZRS SKU.
399    StandardGzrs,
400
401    /// The standard LRS SKU.
402    StandardLrs,
403
404    /// The standard RAGRS SKU.
405    StandardRagrs,
406
407    /// The standard RAGZRS SKU.
408    StandardRagzrs,
409
410    /// The standard ZRS SKU.
411    StandardZrs,
412}
413
414/// Error codes returned by the Azure Blob Storage service.
415#[derive(Clone, Debug, Eq, PartialEq)]
416pub enum StorageErrorCode {
417    /// Account already exists.
418    AccountAlreadyExists,
419
420    /// Account is being created.
421    AccountBeingCreated,
422
423    /// Account is disabled.
424    AccountIsDisabled,
425
426    /// Append position condition not met.
427    AppendPositionConditionNotMet,
428
429    /// Authentication failed.
430    AuthenticationFailed,
431
432    /// Authorization failure.
433    AuthorizationFailure,
434
435    /// Authorization permission mismatch.
436    AuthorizationPermissionMismatch,
437
438    /// Authorization protocol mismatch.
439    AuthorizationProtocolMismatch,
440
441    /// Authorization resource type mismatch.
442    AuthorizationResourceTypeMismatch,
443
444    /// Authorization service mismatch.
445    AuthorizationServiceMismatch,
446
447    /// Authorization source IP mismatch.
448    AuthorizationSourceIPMismatch,
449
450    /// Blob access tier not supported for account type.
451    BlobAccessTierNotSupportedForAccountType,
452
453    /// Blob already exists.
454    BlobAlreadyExists,
455
456    /// Blob archived.
457    BlobArchived,
458
459    /// Blob being rehydrated.
460    BlobBeingRehydrated,
461
462    /// Blob is immutable due to policy.
463    BlobImmutableDueToPolicy,
464
465    /// Blob not archived.
466    BlobNotArchived,
467
468    /// Blob not found.
469    BlobNotFound,
470
471    /// Blob overwritten.
472    BlobOverwritten,
473
474    /// Blob tier inadequate for content length.
475    BlobTierInadequateForContentLength,
476
477    /// Blob uses customer specified encryption.
478    BlobUsesCustomerSpecifiedEncryption,
479
480    /// Block count exceeds limit.
481    BlockCountExceedsLimit,
482
483    /// Block list too long.
484    BlockListTooLong,
485
486    /// Cannot change to lower tier.
487    CannotChangeToLowerTier,
488
489    /// Cannot verify copy source.
490    CannotVerifyCopySource,
491
492    /// Condition headers not supported.
493    ConditionHeadersNotSupported,
494
495    /// Condition not met.
496    ConditionNotMet,
497
498    /// Container already exists.
499    ContainerAlreadyExists,
500
501    /// Container being deleted.
502    ContainerBeingDeleted,
503
504    /// Container disabled.
505    ContainerDisabled,
506
507    /// Container not found.
508    ContainerNotFound,
509
510    /// Content length larger than tier limit.
511    ContentLengthLargerThanTierLimit,
512
513    /// Copy across accounts not supported.
514    CopyAcrossAccountsNotSupported,
515
516    /// Copy ID mismatch.
517    CopyIdMismatch,
518
519    /// Empty metadata key.
520    EmptyMetadataKey,
521
522    /// Feature version mismatch.
523    FeatureVersionMismatch,
524
525    /// Incremental copy blob mismatch.
526    IncrementalCopyBlobMismatch,
527
528    /// Incremental copy of an earlier snapshot is not allowed.
529    IncrementalCopyOfEarlierSnapshotNotAllowed,
530
531    /// Incremental copy of an earlier version snapshot is not allowed.
532    IncrementalCopyOfEarlierVersionSnapshotNotAllowed,
533
534    /// Incremental copy source must be snapshot.
535    IncrementalCopySourceMustBeSnapshot,
536
537    /// Infinite lease duration required.
538    InfiniteLeaseDurationRequired,
539
540    /// Insufficient account permissions.
541    InsufficientAccountPermissions,
542
543    /// Internal error.
544    InternalError,
545
546    /// Invalid authentication information.
547    InvalidAuthenticationInfo,
548
549    /// Invalid blob or block.
550    InvalidBlobOrBlock,
551
552    /// Invalid blob tier.
553    InvalidBlobTier,
554
555    /// Invalid blob type.
556    InvalidBlobType,
557
558    /// Invalid block ID.
559    InvalidBlockId,
560
561    /// Invalid block list.
562    InvalidBlockList,
563
564    /// Invalid header value.
565    InvalidHeaderValue,
566
567    /// Invalid HTTP verb.
568    InvalidHttpVerb,
569
570    /// Invalid input.
571    InvalidInput,
572
573    /// Invalid MD5.
574    InvalidMd5,
575
576    /// Invalid metadata.
577    InvalidMetadata,
578
579    /// Invalid operation.
580    InvalidOperation,
581
582    /// Invalid page range.
583    InvalidPageRange,
584
585    /// Invalid query parameter value.
586    InvalidQueryParameterValue,
587
588    /// Invalid range.
589    InvalidRange,
590
591    /// Invalid request URL.
592    InvalidRequestUrl,
593
594    /// Invalid resource name.
595    InvalidResourceName,
596
597    /// Invalid source blob type.
598    InvalidSourceBlobType,
599
600    /// Invalid source blob URL.
601    InvalidSourceBlobUrl,
602
603    /// Invalid URI.
604    InvalidUri,
605
606    /// Invalid version for page blob operation.
607    InvalidVersionForPageBlobOperation,
608
609    /// Invalid XML document.
610    InvalidXmlDocument,
611
612    /// Invalid XML node value.
613    InvalidXmlNodeValue,
614
615    /// Lease already broken.
616    LeaseAlreadyBroken,
617
618    /// Lease already present.
619    LeaseAlreadyPresent,
620
621    /// Lease ID mismatch with blob operation.
622    LeaseIdMismatchWithBlobOperation,
623
624    /// Lease ID mismatch with container operation.
625    LeaseIdMismatchWithContainerOperation,
626
627    /// Lease ID mismatch with lease operation.
628    LeaseIdMismatchWithLeaseOperation,
629
630    /// Lease ID missing.
631    LeaseIdMissing,
632
633    /// Lease is breaking and cannot be acquired.
634    LeaseIsBreakingAndCannotBeAcquired,
635
636    /// Lease is breaking and cannot be changed.
637    LeaseIsBreakingAndCannotBeChanged,
638
639    /// Lease is broken and cannot be renewed.
640    LeaseIsBrokenAndCannotBeRenewed,
641
642    /// Lease lost.
643    LeaseLost,
644
645    /// Lease not present with blob operation.
646    LeaseNotPresentWithBlobOperation,
647
648    /// Lease not present with container operation.
649    LeaseNotPresentWithContainerOperation,
650
651    /// Lease not present with lease operation.
652    LeaseNotPresentWithLeaseOperation,
653
654    /// Maximum blob size condition not met.
655    MaxBlobSizeConditionNotMet,
656
657    /// MD5 mismatch.
658    Md5Mismatch,
659
660    /// Metadata too large.
661    MetadataTooLarge,
662
663    /// Missing content length header.
664    MissingContentLengthHeader,
665
666    /// Missing required header.
667    MissingRequiredHeader,
668
669    /// Missing required query parameter.
670    MissingRequiredQueryParameter,
671
672    /// Missing required XML node.
673    MissingRequiredXmlNode,
674
675    /// Multiple condition headers not supported.
676    MultipleConditionHeadersNotSupported,
677
678    /// No authentication information.
679    NoAuthenticationInformation,
680
681    /// No pending copy operation.
682    NoPendingCopyOperation,
683
684    /// Operation not allowed on incremental copy blob.
685    OperationNotAllowedOnIncrementalCopyBlob,
686
687    /// Operation timed out.
688    OperationTimedOut,
689
690    /// Out of range input.
691    OutOfRangeInput,
692
693    /// Out of range query parameter value.
694    OutOfRangeQueryParameterValue,
695
696    /// Pending copy operation.
697    PendingCopyOperation,
698
699    /// Previous snapshot cannot be newer.
700    PreviousSnapshotCannotBeNewer,
701
702    /// Previous snapshot not found.
703    PreviousSnapshotNotFound,
704
705    /// Previous snapshot operation not supported.
706    PreviousSnapshotOperationNotSupported,
707
708    /// Request body too large.
709    RequestBodyTooLarge,
710
711    /// Request URL failed to parse.
712    RequestUrlFailedToParse,
713
714    /// Resource already exists.
715    ResourceAlreadyExists,
716
717    /// Resource not found.
718    ResourceNotFound,
719
720    /// Resource type mismatch.
721    ResourceTypeMismatch,
722
723    /// Sequence number condition not met.
724    SequenceNumberConditionNotMet,
725
726    /// Sequence number increment too large.
727    SequenceNumberIncrementTooLarge,
728
729    /// Server busy.
730    ServerBusy,
731
732    /// Snapshot count exceeded.
733    SnapshotCountExceeded,
734
735    /// Snapshot operation rate exceeded.
736    SnapshotOperationRateExceeded,
737
738    /// Snapshots present.
739    SnapshotsPresent,
740
741    /// Source condition not met.
742    SourceConditionNotMet,
743
744    /// System in use.
745    SystemInUse,
746
747    /// Target condition not met.
748    TargetConditionNotMet,
749
750    /// Unauthorized blob overwrite.
751    UnauthorizedBlobOverwrite,
752
753    /// Unsupported header.
754    UnsupportedHeader,
755
756    /// Unsupported HTTP verb.
757    UnsupportedHttpVerb,
758
759    /// Unsupported query parameter.
760    UnsupportedQueryParameter,
761
762    /// Unsupported XML node.
763    UnsupportedXmlNode,
764
765    /// Any other value not defined in `StorageErrorCode`.
766    UnknownValue(String),
767}