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 Bypass(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
45    """Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are
46    any combination of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to
47    bypass none of those traffics.
48    """
49
50    NONE = "None"
51    LOGGING = "Logging"
52    METRICS = "Metrics"
53    AZURE_SERVICES = "AzureServices"
54
55class CorsRuleAllowedMethodsItem(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
56
57    DELETE = "DELETE"
58    GET = "GET"
59    HEAD = "HEAD"
60    MERGE = "MERGE"
61    POST = "POST"
62    OPTIONS = "OPTIONS"
63    PUT = "PUT"
64
65class DefaultAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
66    """Specifies the default action of allow or deny when no other rules match.
67    """
68
69    ALLOW = "Allow"
70    DENY = "Deny"
71
72class DirectoryServiceOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
73    """Indicates the directory service used.
74    """
75
76    NONE = "None"
77    AADDS = "AADDS"
78    AD = "AD"
79
80class GeoReplicationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
81    """The status of the secondary location. Possible values are: - Live: Indicates that the secondary
82    location is active and operational. - Bootstrap: Indicates initial synchronization from the
83    primary location to the secondary location is in progress.This typically occurs when
84    replication is first enabled. - Unavailable: Indicates that the secondary location is
85    temporarily unavailable.
86    """
87
88    LIVE = "Live"
89    BOOTSTRAP = "Bootstrap"
90    UNAVAILABLE = "Unavailable"
91
92class HttpProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
93    """The protocol permitted for a request made with the account SAS.
94    """
95
96    HTTPS_HTTP = "https,http"
97    HTTPS = "https"
98
99class ImmutabilityPolicyState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
100    """The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked.
101    """
102
103    LOCKED = "Locked"
104    UNLOCKED = "Unlocked"
105
106class ImmutabilityPolicyUpdateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
107    """The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and
108    extend.
109    """
110
111    PUT = "put"
112    LOCK = "lock"
113    EXTEND = "extend"
114
115class KeyPermission(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
116    """Permissions for the key -- read-only or full permissions.
117    """
118
119    READ = "Read"
120    FULL = "Full"
121
122class KeySource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
123    """The encryption keySource (provider). Possible values (case-insensitive):  Microsoft.Storage,
124    Microsoft.Keyvault
125    """
126
127    MICROSOFT_STORAGE = "Microsoft.Storage"
128    MICROSOFT_KEYVAULT = "Microsoft.Keyvault"
129
130class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
131    """Indicates the type of storage account.
132    """
133
134    STORAGE = "Storage"
135    STORAGE_V2 = "StorageV2"
136    BLOB_STORAGE = "BlobStorage"
137    FILE_STORAGE = "FileStorage"
138    BLOCK_BLOB_STORAGE = "BlockBlobStorage"
139
140class LargeFileSharesState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
141    """Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.
142    """
143
144    DISABLED = "Disabled"
145    ENABLED = "Enabled"
146
147class LeaseContainerRequestAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
148    """Specifies the lease action. Can be one of the available actions.
149    """
150
151    ACQUIRE = "Acquire"
152    RENEW = "Renew"
153    CHANGE = "Change"
154    RELEASE = "Release"
155    BREAK_ENUM = "Break"
156
157class LeaseDuration(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
158    """Specifies whether the lease on a container is of infinite or fixed duration, only when the
159    container is leased.
160    """
161
162    INFINITE = "Infinite"
163    FIXED = "Fixed"
164
165class LeaseState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
166    """Lease state of the container.
167    """
168
169    AVAILABLE = "Available"
170    LEASED = "Leased"
171    EXPIRED = "Expired"
172    BREAKING = "Breaking"
173    BROKEN = "Broken"
174
175class LeaseStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
176    """The lease status of the container.
177    """
178
179    LOCKED = "Locked"
180    UNLOCKED = "Unlocked"
181
182class ManagementPolicyName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
183
184    DEFAULT = "default"
185
186class MinimumTlsVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
187    """Set the minimum TLS version to be permitted on requests to storage. The default interpretation
188    is TLS 1.0 for this property.
189    """
190
191    TLS1_0 = "TLS1_0"
192    TLS1_1 = "TLS1_1"
193    TLS1_2 = "TLS1_2"
194
195class Permissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
196    """The signed permissions for the account SAS. Possible values include: Read (r), Write (w),
197    Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
198    """
199
200    R = "r"
201    D = "d"
202    W = "w"
203    L = "l"
204    A = "a"
205    C = "c"
206    U = "u"
207    P = "p"
208
209class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
210    """Gets the status of the storage account at the time the operation was called.
211    """
212
213    CREATING = "Creating"
214    RESOLVING_DNS = "ResolvingDNS"
215    SUCCEEDED = "Succeeded"
216
217class PublicAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
218    """Specifies whether data in the container may be accessed publicly and the level of access.
219    """
220
221    CONTAINER = "Container"
222    BLOB = "Blob"
223    NONE = "None"
224
225class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
226    """Gets the reason that a storage account name could not be used. The Reason element is only
227    returned if NameAvailable is false.
228    """
229
230    ACCOUNT_NAME_INVALID = "AccountNameInvalid"
231    ALREADY_EXISTS = "AlreadyExists"
232
233class ReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
234    """The reason for the restriction. As of now this can be "QuotaId" or
235    "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the
236    subscription does not belong to that quota. The "NotAvailableForSubscription" is related to
237    capacity at DC.
238    """
239
240    QUOTA_ID = "QuotaId"
241    NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription"
242
243class RuleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
244    """The valid value is Lifecycle
245    """
246
247    LIFECYCLE = "Lifecycle"
248
249class Services(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
250    """The signed services accessible with the account SAS. Possible values include: Blob (b), Queue
251    (q), Table (t), File (f).
252    """
253
254    B = "b"
255    Q = "q"
256    T = "t"
257    F = "f"
258
259class SignedResource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
260    """The signed services accessible with the service SAS. Possible values include: Blob (b),
261    Container (c), File (f), Share (s).
262    """
263
264    B = "b"
265    C = "c"
266    F = "f"
267    S = "s"
268
269class SignedResourceTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
270    """The signed resource types that are accessible with the account SAS. Service (s): Access to
271    service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to
272    object-level APIs for blobs, queue messages, table entities, and files.
273    """
274
275    S = "s"
276    C = "c"
277    O = "o"
278
279class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
280    """Gets or sets the SKU name. Required for account creation; optional for update. Note that in
281    older versions, SKU name was called accountType.
282    """
283
284    STANDARD_LRS = "Standard_LRS"
285    STANDARD_GRS = "Standard_GRS"
286    STANDARD_RAGRS = "Standard_RAGRS"
287    STANDARD_ZRS = "Standard_ZRS"
288    PREMIUM_LRS = "Premium_LRS"
289    PREMIUM_ZRS = "Premium_ZRS"
290    STANDARD_GZRS = "Standard_GZRS"
291    STANDARD_RAGZRS = "Standard_RAGZRS"
292
293class SkuTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
294    """Gets the SKU tier. This is based on the SKU name.
295    """
296
297    STANDARD = "Standard"
298    PREMIUM = "Premium"
299
300class State(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
301    """Gets the state of virtual network rule.
302    """
303
304    PROVISIONING = "provisioning"
305    DEPROVISIONING = "deprovisioning"
306    SUCCEEDED = "succeeded"
307    FAILED = "failed"
308    NETWORK_SOURCE_DELETED = "networkSourceDeleted"
309
310class UsageUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
311    """Gets the unit of measurement.
312    """
313
314    COUNT = "Count"
315    BYTES = "Bytes"
316    SECONDS = "Seconds"
317    PERCENT = "Percent"
318    COUNTS_PER_SECOND = "CountsPerSecond"
319    BYTES_PER_SECOND = "BytesPerSecond"
320