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