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 AccountSasParametersSignedPermission(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
37    """The signed permissions for the account SAS. Possible values include: Read (r), Write (w),
38    Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
39    """
40
41    R = "r"
42    D = "d"
43    W = "w"
44    L = "l"
45    A = "a"
46    C = "c"
47    U = "u"
48    P = "p"
49
50class AccountSasParametersSignedResourceTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
51    """The signed resource types that are accessible with the account SAS. Service (s): Access to
52    service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to
53    object-level APIs for blobs, queue messages, table entities, and files.
54    """
55
56    S = "s"
57    C = "c"
58    O = "o"
59
60class AccountSasParametersSignedServices(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
61    """The signed services accessible with the account SAS. Possible values include: Blob (b), Queue
62    (q), Table (t), File (f).
63    """
64
65    B = "b"
66    Q = "q"
67    T = "t"
68    F = "f"
69
70class AccountStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
71    """Gets the status indicating whether the primary location of the storage account is available or
72    unavailable.
73    """
74
75    AVAILABLE = "available"
76    UNAVAILABLE = "unavailable"
77
78class HttpProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
79    """The protocol permitted for a request made with the account SAS.
80    """
81
82    HTTPS_HTTP = "https,http"
83    HTTPS = "https"
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 Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
93    """Required. Indicates the type of storage account.
94    """
95
96    STORAGE = "Storage"
97    BLOB_STORAGE = "BlobStorage"
98
99class Permissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
100    """The signed permissions for the service SAS. Possible values include: Read (r), Write (w),
101    Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).
102    """
103
104    R = "r"
105    D = "d"
106    W = "w"
107    L = "l"
108    A = "a"
109    C = "c"
110    U = "u"
111    P = "p"
112
113class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
114    """Gets the status of the storage account at the time the operation was called.
115    """
116
117    CREATING = "Creating"
118    RESOLVING_DNS = "ResolvingDNS"
119    SUCCEEDED = "Succeeded"
120
121class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
122    """Gets the reason that a storage account name could not be used. The Reason element is only
123    returned if NameAvailable is false.
124    """
125
126    ACCOUNT_NAME_INVALID = "AccountNameInvalid"
127    ALREADY_EXISTS = "AlreadyExists"
128
129class SignedResource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
130    """The signed services accessible with the service SAS. Possible values include: Blob (b),
131    Container (c), File (f), Share (s).
132    """
133
134    B = "b"
135    C = "c"
136    F = "f"
137    S = "s"
138
139class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
140    """Gets or sets the sku name. Required for account creation; optional for update. Note that in
141    older versions, sku name was called accountType.
142    """
143
144    STANDARD_LRS = "Standard_LRS"
145    STANDARD_GRS = "Standard_GRS"
146    STANDARD_RAGRS = "Standard_RAGRS"
147    STANDARD_ZRS = "Standard_ZRS"
148    PREMIUM_LRS = "Premium_LRS"
149
150class SkuTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
151    """Gets the sku tier. This is based on the SKU name.
152    """
153
154    STANDARD = "Standard"
155    PREMIUM = "Premium"
156
157class UsageUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
158    """Gets the unit of measurement.
159    """
160
161    COUNT = "Count"
162    BYTES = "Bytes"
163    SECONDS = "Seconds"
164    PERCENT = "Percent"
165    COUNTS_PER_SECOND = "CountsPerSecond"
166    BYTES_PER_SECOND = "BytesPerSecond"
167