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 AccessPolicyUpdateKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
30
31    ADD = "add"
32    REPLACE = "replace"
33    REMOVE = "remove"
34
35class CertificatePermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
36
37    ALL = "all"
38    GET = "get"
39    LIST = "list"
40    DELETE = "delete"
41    CREATE = "create"
42    IMPORT_ENUM = "import"
43    UPDATE = "update"
44    MANAGECONTACTS = "managecontacts"
45    GETISSUERS = "getissuers"
46    LISTISSUERS = "listissuers"
47    SETISSUERS = "setissuers"
48    DELETEISSUERS = "deleteissuers"
49    MANAGEISSUERS = "manageissuers"
50    RECOVER = "recover"
51    PURGE = "purge"
52    BACKUP = "backup"
53    RESTORE = "restore"
54
55class CreateMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
56    """The vault's create mode to indicate whether the vault need to be recovered or not.
57    """
58
59    RECOVER = "recover"
60    DEFAULT = "default"
61
62class DeletionRecoveryLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
63    """The deletion recovery level currently in effect for the object. If it contains 'Purgeable',
64    then the object can be permanently deleted by a privileged user; otherwise, only the system can
65    purge the object at the end of the retention interval.
66    """
67
68    PURGEABLE = "Purgeable"
69    RECOVERABLE_PURGEABLE = "Recoverable+Purgeable"
70    RECOVERABLE = "Recoverable"
71    RECOVERABLE_PROTECTED_SUBSCRIPTION = "Recoverable+ProtectedSubscription"
72
73class JsonWebKeyCurveName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
74    """The elliptic curve name. For valid values, see JsonWebKeyCurveName.
75    """
76
77    P256 = "P-256"
78    P384 = "P-384"
79    P521 = "P-521"
80    P256_K = "P-256K"
81
82class JsonWebKeyOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
83    """The permitted JSON web key operations of the key. For more information, see
84    JsonWebKeyOperation.
85    """
86
87    ENCRYPT = "encrypt"
88    DECRYPT = "decrypt"
89    SIGN = "sign"
90    VERIFY = "verify"
91    WRAP_KEY = "wrapKey"
92    UNWRAP_KEY = "unwrapKey"
93    IMPORT_ENUM = "import"
94
95class JsonWebKeyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
96    """The type of the key. For valid values, see JsonWebKeyType.
97    """
98
99    EC = "EC"
100    EC_HSM = "EC-HSM"
101    RSA = "RSA"
102    RSA_HSM = "RSA-HSM"
103
104class KeyPermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
105
106    ALL = "all"
107    ENCRYPT = "encrypt"
108    DECRYPT = "decrypt"
109    WRAP_KEY = "wrapKey"
110    UNWRAP_KEY = "unwrapKey"
111    SIGN = "sign"
112    VERIFY = "verify"
113    GET = "get"
114    LIST = "list"
115    CREATE = "create"
116    UPDATE = "update"
117    IMPORT_ENUM = "import"
118    DELETE = "delete"
119    BACKUP = "backup"
120    RESTORE = "restore"
121    RECOVER = "recover"
122    PURGE = "purge"
123
124class NetworkRuleAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
125    """The default action when no rule from ipRules and from virtualNetworkRules match. This is only
126    used after the bypass property has been evaluated.
127    """
128
129    ALLOW = "Allow"
130    DENY = "Deny"
131
132class NetworkRuleBypassOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
133    """Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'.  If not
134    specified the default is 'AzureServices'.
135    """
136
137    AZURE_SERVICES = "AzureServices"
138    NONE = "None"
139
140class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
141    """The current provisioning state.
142    """
143
144    SUCCEEDED = "Succeeded"
145    CREATING = "Creating"
146    UPDATING = "Updating"
147    DELETING = "Deleting"
148    FAILED = "Failed"
149    DISCONNECTED = "Disconnected"
150
151class PrivateEndpointServiceConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
152    """The private endpoint connection status.
153    """
154
155    PENDING = "Pending"
156    APPROVED = "Approved"
157    REJECTED = "Rejected"
158    DISCONNECTED = "Disconnected"
159
160class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
161    """The reason that a vault name could not be used. The Reason element is only returned if
162    NameAvailable is false.
163    """
164
165    ACCOUNT_NAME_INVALID = "AccountNameInvalid"
166    ALREADY_EXISTS = "AlreadyExists"
167
168class SecretPermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
169
170    ALL = "all"
171    GET = "get"
172    LIST = "list"
173    SET = "set"
174    DELETE = "delete"
175    BACKUP = "backup"
176    RESTORE = "restore"
177    RECOVER = "recover"
178    PURGE = "purge"
179
180class SkuFamily(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
181    """SKU family name
182    """
183
184    A = "A"
185
186class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
187    """SKU name to specify whether the key vault is a standard vault or a premium vault.
188    """
189
190    STANDARD = "standard"
191    PREMIUM = "premium"
192
193class StoragePermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
194
195    ALL = "all"
196    GET = "get"
197    LIST = "list"
198    DELETE = "delete"
199    SET = "set"
200    UPDATE = "update"
201    REGENERATEKEY = "regeneratekey"
202    RECOVER = "recover"
203    PURGE = "purge"
204    BACKUP = "backup"
205    RESTORE = "restore"
206    SETSAS = "setsas"
207    LISTSAS = "listsas"
208    GETSAS = "getsas"
209    DELETESAS = "deletesas"
210
211class VaultProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
212    """Provisioning state of the vault.
213    """
214
215    SUCCEEDED = "Succeeded"
216    REGISTERING_DNS = "RegisteringDns"
217