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 Permissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
144    """The signed permissions for the account SAS. Possible values include: Read (r), Write (w),
145    Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
146    """
147
148    R = "r"
149    D = "d"
150    W = "w"
151    L = "l"
152    A = "a"
153    C = "c"
154    U = "u"
155    P = "p"
156
157class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
158    """Gets the status of the storage account at the time the operation was called.
159    """
160
161    CREATING = "Creating"
162    RESOLVING_DNS = "ResolvingDNS"
163    SUCCEEDED = "Succeeded"
164
165class PublicAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
166    """Specifies whether data in the container may be accessed publicly and the level of access.
167    """
168
169    CONTAINER = "Container"
170    BLOB = "Blob"
171    NONE = "None"
172
173class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
174    """Gets the reason that a storage account name could not be used. The Reason element is only
175    returned if NameAvailable is false.
176    """
177
178    ACCOUNT_NAME_INVALID = "AccountNameInvalid"
179    ALREADY_EXISTS = "AlreadyExists"
180
181class ReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
182    """The reason for the restriction. As of now this can be "QuotaId" or
183    "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the
184    subscription does not belong to that quota. The "NotAvailableForSubscription" is related to
185    capacity at DC.
186    """
187
188    QUOTA_ID = "QuotaId"
189    NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription"
190
191class Services(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
192    """The signed services accessible with the account SAS. Possible values include: Blob (b), Queue
193    (q), Table (t), File (f).
194    """
195
196    B = "b"
197    Q = "q"
198    T = "t"
199    F = "f"
200
201class SignedResource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
202    """The signed services accessible with the service SAS. Possible values include: Blob (b),
203    Container (c), File (f), Share (s).
204    """
205
206    B = "b"
207    C = "c"
208    F = "f"
209    S = "s"
210
211class SignedResourceTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
212    """The signed resource types that are accessible with the account SAS. Service (s): Access to
213    service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to
214    object-level APIs for blobs, queue messages, table entities, and files.
215    """
216
217    S = "s"
218    C = "c"
219    O = "o"
220
221class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
222    """Gets or sets the sku name. Required for account creation; optional for update. Note that in
223    older versions, sku name was called accountType.
224    """
225
226    STANDARD_LRS = "Standard_LRS"
227    STANDARD_GRS = "Standard_GRS"
228    STANDARD_RAGRS = "Standard_RAGRS"
229    STANDARD_ZRS = "Standard_ZRS"
230    PREMIUM_LRS = "Premium_LRS"
231
232class SkuTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
233    """Gets the sku tier. This is based on the SKU name.
234    """
235
236    STANDARD = "Standard"
237    PREMIUM = "Premium"
238
239class State(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
240    """Gets the state of virtual network rule.
241    """
242
243    PROVISIONING = "provisioning"
244    DEPROVISIONING = "deprovisioning"
245    SUCCEEDED = "succeeded"
246    FAILED = "failed"
247    NETWORK_SOURCE_DELETED = "networkSourceDeleted"
248
249class UsageUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
250    """Gets the unit of measurement.
251    """
252
253    COUNT = "Count"
254    BYTES = "Bytes"
255    SECONDS = "Seconds"
256    PERCENT = "Percent"
257    COUNTS_PER_SECOND = "CountsPerSecond"
258    BYTES_PER_SECOND = "BytesPerSecond"
259