1# coding=utf-8
2# --------------------------------------------------------------------------
3# Copyright (c) Microsoft Corporation. All rights reserved.
4# Licensed under the MIT License. See License.txt in the project root for license information.
5# Code generated by Microsoft (R) AutoRest Code Generator.
6# Changes may cause incorrect behavior and will be lost if the code is regenerated.
7# --------------------------------------------------------------------------
8
9from enum import Enum, EnumMeta
10from six import with_metaclass
11
12class _CaseInsensitiveEnumMeta(EnumMeta):
13    def __getitem__(self, name):
14        return super().__getitem__(name.upper())
15
16    def __getattr__(cls, name):
17        """Return the enum member matching `name`
18        We use __getattr__ instead of descriptors or inserting into the enum
19        class' __dict__ in order to support `name` and `value` being both
20        properties for enum members (which live in the class' __dict__) and
21        enum members themselves.
22        """
23        try:
24            return cls._member_map_[name.upper()]
25        except KeyError:
26            raise AttributeError(name)
27
28
29class AccessTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
30    """Required for storage accounts where kind = BlobStorage. The access tier used for billing.
31    """
32
33    HOT = "Hot"
34    COOL = "Cool"
35
36class AccountStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
37    """Gets the status indicating whether the primary location of the storage account is available or
38    unavailable.
39    """
40
41    AVAILABLE = "available"
42    UNAVAILABLE = "unavailable"
43
44class BlobInventoryPolicyName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
45
46    DEFAULT = "default"
47
48class BlobRestoreProgressStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
49    """The status of blob restore progress. Possible values are: - InProgress: Indicates that blob
50    restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. -
51    Failed: Indicates that blob restore is failed.
52    """
53
54    IN_PROGRESS = "InProgress"
55    COMPLETE = "Complete"
56    FAILED = "Failed"
57
58class Bypass(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
59    """Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are
60    any combination of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to
61    bypass none of those traffics.
62    """
63
64    NONE = "None"
65    LOGGING = "Logging"
66    METRICS = "Metrics"
67    AZURE_SERVICES = "AzureServices"
68
69class CorsRuleAllowedMethodsItem(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
70
71    DELETE = "DELETE"
72    GET = "GET"
73    HEAD = "HEAD"
74    MERGE = "MERGE"
75    POST = "POST"
76    OPTIONS = "OPTIONS"
77    PUT = "PUT"
78
79class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
80    """The type of identity that created the resource.
81    """
82
83    USER = "User"
84    APPLICATION = "Application"
85    MANAGED_IDENTITY = "ManagedIdentity"
86    KEY = "Key"
87
88class DefaultAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
89    """Specifies the default action of allow or deny when no other rules match.
90    """
91
92    ALLOW = "Allow"
93    DENY = "Deny"
94
95class DirectoryServiceOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
96    """Indicates the directory service used.
97    """
98
99    NONE = "None"
100    AADDS = "AADDS"
101    AD = "AD"
102
103class EnabledProtocols(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
104    """The authentication protocol that is used for the file share. Can only be specified when
105    creating a share.
106    """
107
108    SMB = "SMB"
109    NFS = "NFS"
110
111class EncryptionScopeSource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
112    """The provider for the encryption scope. Possible values (case-insensitive):  Microsoft.Storage,
113    Microsoft.KeyVault.
114    """
115
116    MICROSOFT_STORAGE = "Microsoft.Storage"
117    MICROSOFT_KEY_VAULT = "Microsoft.KeyVault"
118
119class EncryptionScopeState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
120    """The state of the encryption scope. Possible values (case-insensitive):  Enabled, Disabled.
121    """
122
123    ENABLED = "Enabled"
124    DISABLED = "Disabled"
125
126class ExtendedLocationTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
127    """The type of extendedLocation.
128    """
129
130    EDGE_ZONE = "EdgeZone"
131
132class GeoReplicationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
133    """The status of the secondary location. Possible values are: - Live: Indicates that the secondary
134    location is active and operational. - Bootstrap: Indicates initial synchronization from the
135    primary location to the secondary location is in progress.This typically occurs when
136    replication is first enabled. - Unavailable: Indicates that the secondary location is
137    temporarily unavailable.
138    """
139
140    LIVE = "Live"
141    BOOTSTRAP = "Bootstrap"
142    UNAVAILABLE = "Unavailable"
143
144class HttpProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
145    """The protocol permitted for a request made with the account SAS.
146    """
147
148    HTTPS_HTTP = "https,http"
149    HTTPS = "https"
150
151class ImmutabilityPolicyState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
152    """The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked.
153    """
154
155    LOCKED = "Locked"
156    UNLOCKED = "Unlocked"
157
158class ImmutabilityPolicyUpdateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
159    """The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and
160    extend.
161    """
162
163    PUT = "put"
164    LOCK = "lock"
165    EXTEND = "extend"
166
167class InventoryRuleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
168    """The valid value is Inventory
169    """
170
171    INVENTORY = "Inventory"
172
173class KeyPermission(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
174    """Permissions for the key -- read-only or full permissions.
175    """
176
177    READ = "Read"
178    FULL = "Full"
179
180class KeySource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
181    """The encryption keySource (provider). Possible values (case-insensitive):  Microsoft.Storage,
182    Microsoft.Keyvault
183    """
184
185    MICROSOFT_STORAGE = "Microsoft.Storage"
186    MICROSOFT_KEYVAULT = "Microsoft.Keyvault"
187
188class KeyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
189    """Encryption key type to be used for the encryption service. 'Account' key type implies that an
190    account-scoped encryption key will be used. 'Service' key type implies that a default service
191    key is used.
192    """
193
194    SERVICE = "Service"
195    ACCOUNT = "Account"
196
197class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
198    """Indicates the type of storage account.
199    """
200
201    STORAGE = "Storage"
202    STORAGE_V2 = "StorageV2"
203    BLOB_STORAGE = "BlobStorage"
204    FILE_STORAGE = "FileStorage"
205    BLOCK_BLOB_STORAGE = "BlockBlobStorage"
206
207class LargeFileSharesState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
208    """Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.
209    """
210
211    DISABLED = "Disabled"
212    ENABLED = "Enabled"
213
214class LeaseContainerRequestAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
215    """Specifies the lease action. Can be one of the available actions.
216    """
217
218    ACQUIRE = "Acquire"
219    RENEW = "Renew"
220    CHANGE = "Change"
221    RELEASE = "Release"
222    BREAK_ENUM = "Break"
223
224class LeaseDuration(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
225    """Specifies whether the lease on a container is of infinite or fixed duration, only when the
226    container is leased.
227    """
228
229    INFINITE = "Infinite"
230    FIXED = "Fixed"
231
232class LeaseState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
233    """Lease state of the container.
234    """
235
236    AVAILABLE = "Available"
237    LEASED = "Leased"
238    EXPIRED = "Expired"
239    BREAKING = "Breaking"
240    BROKEN = "Broken"
241
242class LeaseStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
243    """The lease status of the container.
244    """
245
246    LOCKED = "Locked"
247    UNLOCKED = "Unlocked"
248
249class ListContainersInclude(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
250
251    DELETED = "deleted"
252
253class ListSharesExpand(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
254
255    DELETED = "deleted"
256    SNAPSHOTS = "snapshots"
257
258class ManagementPolicyName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
259
260    DEFAULT = "default"
261
262class MinimumTlsVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
263    """Set the minimum TLS version to be permitted on requests to storage. The default interpretation
264    is TLS 1.0 for this property.
265    """
266
267    TLS1_0 = "TLS1_0"
268    TLS1_1 = "TLS1_1"
269    TLS1_2 = "TLS1_2"
270
271class Name(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
272    """Name of the policy. The valid value is AccessTimeTracking. This field is currently read only
273    """
274
275    ACCESS_TIME_TRACKING = "AccessTimeTracking"
276
277class Permissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
278    """The signed permissions for the account SAS. Possible values include: Read (r), Write (w),
279    Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
280    """
281
282    R = "r"
283    D = "d"
284    W = "w"
285    L = "l"
286    A = "a"
287    C = "c"
288    U = "u"
289    P = "p"
290
291class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
292    """The current provisioning state.
293    """
294
295    SUCCEEDED = "Succeeded"
296    CREATING = "Creating"
297    DELETING = "Deleting"
298    FAILED = "Failed"
299
300class PrivateEndpointServiceConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
301    """The private endpoint connection status.
302    """
303
304    PENDING = "Pending"
305    APPROVED = "Approved"
306    REJECTED = "Rejected"
307
308class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
309    """Gets the status of the storage account at the time the operation was called.
310    """
311
312    CREATING = "Creating"
313    RESOLVING_DNS = "ResolvingDNS"
314    SUCCEEDED = "Succeeded"
315
316class PublicAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
317    """Specifies whether data in the container may be accessed publicly and the level of access.
318    """
319
320    CONTAINER = "Container"
321    BLOB = "Blob"
322    NONE = "None"
323
324class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
325    """Gets the reason that a storage account name could not be used. The Reason element is only
326    returned if NameAvailable is false.
327    """
328
329    ACCOUNT_NAME_INVALID = "AccountNameInvalid"
330    ALREADY_EXISTS = "AlreadyExists"
331
332class ReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
333    """The reason for the restriction. As of now this can be "QuotaId" or
334    "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the
335    subscription does not belong to that quota. The "NotAvailableForSubscription" is related to
336    capacity at DC.
337    """
338
339    QUOTA_ID = "QuotaId"
340    NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription"
341
342class RootSquashType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
343    """The property is for NFS share only. The default is NoRootSquash.
344    """
345
346    NO_ROOT_SQUASH = "NoRootSquash"
347    ROOT_SQUASH = "RootSquash"
348    ALL_SQUASH = "AllSquash"
349
350class RoutingChoice(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
351    """Routing Choice defines the kind of network routing opted by the user.
352    """
353
354    MICROSOFT_ROUTING = "MicrosoftRouting"
355    INTERNET_ROUTING = "InternetRouting"
356
357class RuleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
358    """The valid value is Lifecycle
359    """
360
361    LIFECYCLE = "Lifecycle"
362
363class Services(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
364    """The signed services accessible with the account SAS. Possible values include: Blob (b), Queue
365    (q), Table (t), File (f).
366    """
367
368    B = "b"
369    Q = "q"
370    T = "t"
371    F = "f"
372
373class ShareAccessTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
374    """Access tier for specific share. GpV2 account can choose between TransactionOptimized (default),
375    Hot, and Cool. FileStorage account can choose Premium.
376    """
377
378    TRANSACTION_OPTIMIZED = "TransactionOptimized"
379    HOT = "Hot"
380    COOL = "Cool"
381    PREMIUM = "Premium"
382
383class SignedResource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
384    """The signed services accessible with the service SAS. Possible values include: Blob (b),
385    Container (c), File (f), Share (s).
386    """
387
388    B = "b"
389    C = "c"
390    F = "f"
391    S = "s"
392
393class SignedResourceTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
394    """The signed resource types that are accessible with the account SAS. Service (s): Access to
395    service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to
396    object-level APIs for blobs, queue messages, table entities, and files.
397    """
398
399    S = "s"
400    C = "c"
401    O = "o"
402
403class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
404    """The SKU name. Required for account creation; optional for update. Note that in older versions,
405    SKU name was called accountType.
406    """
407
408    STANDARD_LRS = "Standard_LRS"
409    STANDARD_GRS = "Standard_GRS"
410    STANDARD_RAGRS = "Standard_RAGRS"
411    STANDARD_ZRS = "Standard_ZRS"
412    PREMIUM_LRS = "Premium_LRS"
413    PREMIUM_ZRS = "Premium_ZRS"
414    STANDARD_GZRS = "Standard_GZRS"
415    STANDARD_RAGZRS = "Standard_RAGZRS"
416
417class SkuTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
418    """The SKU tier. This is based on the SKU name.
419    """
420
421    STANDARD = "Standard"
422    PREMIUM = "Premium"
423
424class State(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
425    """Gets the state of virtual network rule.
426    """
427
428    PROVISIONING = "provisioning"
429    DEPROVISIONING = "deprovisioning"
430    SUCCEEDED = "succeeded"
431    FAILED = "failed"
432    NETWORK_SOURCE_DELETED = "networkSourceDeleted"
433
434class StorageAccountExpand(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
435
436    GEO_REPLICATION_STATS = "geoReplicationStats"
437    BLOB_RESTORE_STATUS = "blobRestoreStatus"
438
439class UsageUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
440    """Gets the unit of measurement.
441    """
442
443    COUNT = "Count"
444    BYTES = "Bytes"
445    SECONDS = "Seconds"
446    PERCENT = "Percent"
447    COUNTS_PER_SECOND = "CountsPerSecond"
448    BYTES_PER_SECOND = "BytesPerSecond"
449