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