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 ActionsRequired(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
36    """A message indicating if changes on the service provider require any updates on the consumer.
37    """
38
39    NONE = "None"
40
41class CertificatePermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
42
43    GET = "get"
44    LIST = "list"
45    DELETE = "delete"
46    CREATE = "create"
47    IMPORT_ENUM = "import"
48    UPDATE = "update"
49    MANAGECONTACTS = "managecontacts"
50    GETISSUERS = "getissuers"
51    LISTISSUERS = "listissuers"
52    SETISSUERS = "setissuers"
53    DELETEISSUERS = "deleteissuers"
54    MANAGEISSUERS = "manageissuers"
55    RECOVER = "recover"
56    PURGE = "purge"
57    BACKUP = "backup"
58    RESTORE = "restore"
59
60class CreateMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
61    """The vault's create mode to indicate whether the vault need to be recovered or not.
62    """
63
64    RECOVER = "recover"
65    DEFAULT = "default"
66
67class DeletionRecoveryLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
68    """The deletion recovery level currently in effect for the object. If it contains 'Purgeable',
69    then the object can be permanently deleted by a privileged user; otherwise, only the system can
70    purge the object at the end of the retention interval.
71    """
72
73    PURGEABLE = "Purgeable"
74    RECOVERABLE_PURGEABLE = "Recoverable+Purgeable"
75    RECOVERABLE = "Recoverable"
76    RECOVERABLE_PROTECTED_SUBSCRIPTION = "Recoverable+ProtectedSubscription"
77
78class IdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
79    """The type of identity.
80    """
81
82    USER = "User"
83    APPLICATION = "Application"
84    MANAGED_IDENTITY = "ManagedIdentity"
85    KEY = "Key"
86
87class JsonWebKeyCurveName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
88    """The elliptic curve name. For valid values, see JsonWebKeyCurveName.
89    """
90
91    P256 = "P-256"
92    P384 = "P-384"
93    P521 = "P-521"
94    P256_K = "P-256K"
95
96class JsonWebKeyOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
97    """The permitted JSON web key operations of the key. For more information, see
98    JsonWebKeyOperation.
99    """
100
101    ENCRYPT = "encrypt"
102    DECRYPT = "decrypt"
103    SIGN = "sign"
104    VERIFY = "verify"
105    WRAP_KEY = "wrapKey"
106    UNWRAP_KEY = "unwrapKey"
107    IMPORT_ENUM = "import"
108
109class JsonWebKeyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
110    """The type of the key. For valid values, see JsonWebKeyType.
111    """
112
113    EC = "EC"
114    EC_HSM = "EC-HSM"
115    RSA = "RSA"
116    RSA_HSM = "RSA-HSM"
117
118class KeyPermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
119
120    ENCRYPT = "encrypt"
121    DECRYPT = "decrypt"
122    WRAP_KEY = "wrapKey"
123    UNWRAP_KEY = "unwrapKey"
124    SIGN = "sign"
125    VERIFY = "verify"
126    GET = "get"
127    LIST = "list"
128    CREATE = "create"
129    UPDATE = "update"
130    IMPORT_ENUM = "import"
131    DELETE = "delete"
132    BACKUP = "backup"
133    RESTORE = "restore"
134    RECOVER = "recover"
135    PURGE = "purge"
136
137class ManagedHsmSkuFamily(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
138    """SKU Family of the managed HSM Pool
139    """
140
141    B = "B"
142
143class ManagedHsmSkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
144    """SKU of the managed HSM Pool
145    """
146
147    STANDARD_B1 = "Standard_B1"
148    CUSTOM_B32 = "Custom_B32"
149
150class NetworkRuleAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
151    """The default action when no rule from ipRules and from virtualNetworkRules match. This is only
152    used after the bypass property has been evaluated.
153    """
154
155    ALLOW = "Allow"
156    DENY = "Deny"
157
158class NetworkRuleBypassOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
159    """Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'.  If not
160    specified the default is 'AzureServices'.
161    """
162
163    AZURE_SERVICES = "AzureServices"
164    NONE = "None"
165
166class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
167    """The current provisioning state.
168    """
169
170    SUCCEEDED = "Succeeded"
171    CREATING = "Creating"
172    UPDATING = "Updating"
173    DELETING = "Deleting"
174    FAILED = "Failed"
175    DISCONNECTED = "Disconnected"
176
177class PrivateEndpointServiceConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
178    """The private endpoint connection status.
179    """
180
181    PENDING = "Pending"
182    APPROVED = "Approved"
183    REJECTED = "Rejected"
184    DISCONNECTED = "Disconnected"
185
186class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
187    """Provisioning state.
188    """
189
190    #: The managed HSM Pool has been full provisioned.
191    SUCCEEDED = "Succeeded"
192    #: The managed HSM Pool is currently being provisioned.
193    PROVISIONING = "Provisioning"
194    #: Provisioning of the managed HSM Pool has failed.
195    FAILED = "Failed"
196    #: The managed HSM Pool is currently being updated.
197    UPDATING = "Updating"
198    #: The managed HSM Pool is currently being deleted.
199    DELETING = "Deleting"
200    #: The managed HSM pool is ready for normal use.
201    ACTIVATED = "Activated"
202    #: The managed HSM pool is waiting for a security domain restore action.
203    SECURITY_DOMAIN_RESTORE = "SecurityDomainRestore"
204    #: The managed HSM pool is being restored from full HSM backup.
205    RESTORING = "Restoring"
206
207class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
208    """The reason that a vault name could not be used. The Reason element is only returned if
209    NameAvailable is false.
210    """
211
212    ACCOUNT_NAME_INVALID = "AccountNameInvalid"
213    ALREADY_EXISTS = "AlreadyExists"
214
215class SecretPermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
216
217    GET = "get"
218    LIST = "list"
219    SET = "set"
220    DELETE = "delete"
221    BACKUP = "backup"
222    RESTORE = "restore"
223    RECOVER = "recover"
224    PURGE = "purge"
225
226class SkuFamily(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
227    """SKU family name
228    """
229
230    A = "A"
231
232class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
233    """SKU name to specify whether the key vault is a standard vault or a premium vault.
234    """
235
236    STANDARD = "standard"
237    PREMIUM = "premium"
238
239class StoragePermissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
240
241    GET = "get"
242    LIST = "list"
243    DELETE = "delete"
244    SET = "set"
245    UPDATE = "update"
246    REGENERATEKEY = "regeneratekey"
247    RECOVER = "recover"
248    PURGE = "purge"
249    BACKUP = "backup"
250    RESTORE = "restore"
251    SETSAS = "setsas"
252    LISTSAS = "listsas"
253    GETSAS = "getsas"
254    DELETESAS = "deletesas"
255
256class VaultProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
257    """Provisioning state of the vault.
258    """
259
260    SUCCEEDED = "Succeeded"
261    REGISTERING_DNS = "RegisteringDns"
262