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 ExpirationAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
127    """The SAS expiration action. Can only be Log.
128    """
129
130    LOG = "Log"
131
132class ExtendedLocationTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
133    """The type of extendedLocation.
134    """
135
136    EDGE_ZONE = "EdgeZone"
137
138class GeoReplicationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
139    """The status of the secondary location. Possible values are: - Live: Indicates that the secondary
140    location is active and operational. - Bootstrap: Indicates initial synchronization from the
141    primary location to the secondary location is in progress.This typically occurs when
142    replication is first enabled. - Unavailable: Indicates that the secondary location is
143    temporarily unavailable.
144    """
145
146    LIVE = "Live"
147    BOOTSTRAP = "Bootstrap"
148    UNAVAILABLE = "Unavailable"
149
150class HttpProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
151    """The protocol permitted for a request made with the account SAS.
152    """
153
154    HTTPS_HTTP = "https,http"
155    HTTPS = "https"
156
157class IdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
158    """The identity type.
159    """
160
161    NONE = "None"
162    SYSTEM_ASSIGNED = "SystemAssigned"
163    USER_ASSIGNED = "UserAssigned"
164    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"
165
166class ImmutabilityPolicyState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
167    """The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked.
168    """
169
170    LOCKED = "Locked"
171    UNLOCKED = "Unlocked"
172
173class ImmutabilityPolicyUpdateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
174    """The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and
175    extend.
176    """
177
178    PUT = "put"
179    LOCK = "lock"
180    EXTEND = "extend"
181
182class InventoryRuleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
183    """The valid value is Inventory
184    """
185
186    INVENTORY = "Inventory"
187
188class KeyPermission(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
189    """Permissions for the key -- read-only or full permissions.
190    """
191
192    READ = "Read"
193    FULL = "Full"
194
195class KeySource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
196    """The encryption keySource (provider). Possible values (case-insensitive):  Microsoft.Storage,
197    Microsoft.Keyvault
198    """
199
200    MICROSOFT_STORAGE = "Microsoft.Storage"
201    MICROSOFT_KEYVAULT = "Microsoft.Keyvault"
202
203class KeyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
204    """Encryption key type to be used for the encryption service. 'Account' key type implies that an
205    account-scoped encryption key will be used. 'Service' key type implies that a default service
206    key is used.
207    """
208
209    SERVICE = "Service"
210    ACCOUNT = "Account"
211
212class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
213    """Indicates the type of storage account.
214    """
215
216    STORAGE = "Storage"
217    STORAGE_V2 = "StorageV2"
218    BLOB_STORAGE = "BlobStorage"
219    FILE_STORAGE = "FileStorage"
220    BLOCK_BLOB_STORAGE = "BlockBlobStorage"
221
222class LargeFileSharesState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
223    """Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.
224    """
225
226    DISABLED = "Disabled"
227    ENABLED = "Enabled"
228
229class LeaseContainerRequestAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
230    """Specifies the lease action. Can be one of the available actions.
231    """
232
233    ACQUIRE = "Acquire"
234    RENEW = "Renew"
235    CHANGE = "Change"
236    RELEASE = "Release"
237    BREAK_ENUM = "Break"
238
239class LeaseDuration(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
240    """Specifies whether the lease on a container is of infinite or fixed duration, only when the
241    container is leased.
242    """
243
244    INFINITE = "Infinite"
245    FIXED = "Fixed"
246
247class LeaseState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
248    """Lease state of the container.
249    """
250
251    AVAILABLE = "Available"
252    LEASED = "Leased"
253    EXPIRED = "Expired"
254    BREAKING = "Breaking"
255    BROKEN = "Broken"
256
257class LeaseStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
258    """The lease status of the container.
259    """
260
261    LOCKED = "Locked"
262    UNLOCKED = "Unlocked"
263
264class ListContainersInclude(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
265
266    DELETED = "deleted"
267
268class ListSharesExpand(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
269
270    DELETED = "deleted"
271    SNAPSHOTS = "snapshots"
272
273class ManagementPolicyName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
274
275    DEFAULT = "default"
276
277class MinimumTlsVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
278    """Set the minimum TLS version to be permitted on requests to storage. The default interpretation
279    is TLS 1.0 for this property.
280    """
281
282    TLS1_0 = "TLS1_0"
283    TLS1_1 = "TLS1_1"
284    TLS1_2 = "TLS1_2"
285
286class Name(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
287    """Name of the policy. The valid value is AccessTimeTracking. This field is currently read only
288    """
289
290    ACCESS_TIME_TRACKING = "AccessTimeTracking"
291
292class Permissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
293    """The signed permissions for the account SAS. Possible values include: Read (r), Write (w),
294    Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
295    """
296
297    R = "r"
298    D = "d"
299    W = "w"
300    L = "l"
301    A = "a"
302    C = "c"
303    U = "u"
304    P = "p"
305
306class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
307    """The current provisioning state.
308    """
309
310    SUCCEEDED = "Succeeded"
311    CREATING = "Creating"
312    DELETING = "Deleting"
313    FAILED = "Failed"
314
315class PrivateEndpointServiceConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
316    """The private endpoint connection status.
317    """
318
319    PENDING = "Pending"
320    APPROVED = "Approved"
321    REJECTED = "Rejected"
322
323class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
324    """Gets the status of the storage account at the time the operation was called.
325    """
326
327    CREATING = "Creating"
328    RESOLVING_DNS = "ResolvingDNS"
329    SUCCEEDED = "Succeeded"
330
331class PublicAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
332    """Specifies whether data in the container may be accessed publicly and the level of access.
333    """
334
335    CONTAINER = "Container"
336    BLOB = "Blob"
337    NONE = "None"
338
339class PutSharesExpand(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
340
341    SNAPSHOTS = "snapshots"
342
343class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
344    """Gets the reason that a storage account name could not be used. The Reason element is only
345    returned if NameAvailable is false.
346    """
347
348    ACCOUNT_NAME_INVALID = "AccountNameInvalid"
349    ALREADY_EXISTS = "AlreadyExists"
350
351class ReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
352    """The reason for the restriction. As of now this can be "QuotaId" or
353    "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the
354    subscription does not belong to that quota. The "NotAvailableForSubscription" is related to
355    capacity at DC.
356    """
357
358    QUOTA_ID = "QuotaId"
359    NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription"
360
361class RootSquashType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
362    """The property is for NFS share only. The default is NoRootSquash.
363    """
364
365    NO_ROOT_SQUASH = "NoRootSquash"
366    ROOT_SQUASH = "RootSquash"
367    ALL_SQUASH = "AllSquash"
368
369class RoutingChoice(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
370    """Routing Choice defines the kind of network routing opted by the user.
371    """
372
373    MICROSOFT_ROUTING = "MicrosoftRouting"
374    INTERNET_ROUTING = "InternetRouting"
375
376class RuleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
377    """The valid value is Lifecycle
378    """
379
380    LIFECYCLE = "Lifecycle"
381
382class Services(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
383    """The signed services accessible with the account SAS. Possible values include: Blob (b), Queue
384    (q), Table (t), File (f).
385    """
386
387    B = "b"
388    Q = "q"
389    T = "t"
390    F = "f"
391
392class ShareAccessTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
393    """Access tier for specific share. GpV2 account can choose between TransactionOptimized (default),
394    Hot, and Cool. FileStorage account can choose Premium.
395    """
396
397    TRANSACTION_OPTIMIZED = "TransactionOptimized"
398    HOT = "Hot"
399    COOL = "Cool"
400    PREMIUM = "Premium"
401
402class SignedResource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
403    """The signed services accessible with the service SAS. Possible values include: Blob (b),
404    Container (c), File (f), Share (s).
405    """
406
407    B = "b"
408    C = "c"
409    F = "f"
410    S = "s"
411
412class SignedResourceTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
413    """The signed resource types that are accessible with the account SAS. Service (s): Access to
414    service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to
415    object-level APIs for blobs, queue messages, table entities, and files.
416    """
417
418    S = "s"
419    C = "c"
420    O = "o"
421
422class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
423    """The SKU name. Required for account creation; optional for update. Note that in older versions,
424    SKU name was called accountType.
425    """
426
427    STANDARD_LRS = "Standard_LRS"
428    STANDARD_GRS = "Standard_GRS"
429    STANDARD_RAGRS = "Standard_RAGRS"
430    STANDARD_ZRS = "Standard_ZRS"
431    PREMIUM_LRS = "Premium_LRS"
432    PREMIUM_ZRS = "Premium_ZRS"
433    STANDARD_GZRS = "Standard_GZRS"
434    STANDARD_RAGZRS = "Standard_RAGZRS"
435
436class SkuTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
437    """The SKU tier. This is based on the SKU name.
438    """
439
440    STANDARD = "Standard"
441    PREMIUM = "Premium"
442
443class State(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
444    """Gets the state of virtual network rule.
445    """
446
447    PROVISIONING = "provisioning"
448    DEPROVISIONING = "deprovisioning"
449    SUCCEEDED = "succeeded"
450    FAILED = "failed"
451    NETWORK_SOURCE_DELETED = "networkSourceDeleted"
452
453class StorageAccountExpand(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
454
455    GEO_REPLICATION_STATS = "geoReplicationStats"
456    BLOB_RESTORE_STATUS = "blobRestoreStatus"
457
458class UsageUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
459    """Gets the unit of measurement.
460    """
461
462    COUNT = "Count"
463    BYTES = "Bytes"
464    SECONDS = "Seconds"
465    PERCENT = "Percent"
466    COUNTS_PER_SECOND = "CountsPerSecond"
467    BYTES_PER_SECOND = "BytesPerSecond"
468