1package keyvault
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//
6// Code generated by Microsoft (R) AutoRest Code Generator.
7// Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
9// ActionType enumerates the values for action type.
10type ActionType string
11
12const (
13	// AutoRenew ...
14	AutoRenew ActionType = "AutoRenew"
15	// EmailContacts ...
16	EmailContacts ActionType = "EmailContacts"
17)
18
19// PossibleActionTypeValues returns an array of possible values for the ActionType const type.
20func PossibleActionTypeValues() []ActionType {
21	return []ActionType{AutoRenew, EmailContacts}
22}
23
24// DeletionRecoveryLevel enumerates the values for deletion recovery level.
25type DeletionRecoveryLevel string
26
27const (
28	// CustomizedRecoverable Denotes a vault state in which deletion is recoverable without the possibility for
29	// immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level
30	// guarantees the recoverability of the deleted entity during the retention interval and while the
31	// subscription is still available.
32	CustomizedRecoverable DeletionRecoveryLevel = "CustomizedRecoverable"
33	// CustomizedRecoverableProtectedSubscription Denotes a vault and subscription state in which deletion is
34	// recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the
35	// subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level
36	// guarantees the recoverability of the deleted entity during the retention interval, and also reflects the
37	// fact that the subscription itself cannot be cancelled.
38	CustomizedRecoverableProtectedSubscription DeletionRecoveryLevel = "CustomizedRecoverable+ProtectedSubscription"
39	// CustomizedRecoverablePurgeable Denotes a vault state in which deletion is recoverable, and which also
40	// permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This
41	// level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge
42	// operation is requested, or the subscription is cancelled.
43	CustomizedRecoverablePurgeable DeletionRecoveryLevel = "CustomizedRecoverable+Purgeable"
44	// Purgeable Denotes a vault state in which deletion is an irreversible operation, without the possibility
45	// for recovery. This level corresponds to no protection being available against a Delete operation; the
46	// data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault,
47	// resource group, subscription etc.)
48	Purgeable DeletionRecoveryLevel = "Purgeable"
49	// Recoverable Denotes a vault state in which deletion is recoverable without the possibility for immediate
50	// and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity
51	// during the retention interval(90 days) and while the subscription is still available. System wil
52	// permanently delete it after 90 days, if not recovered
53	Recoverable DeletionRecoveryLevel = "Recoverable"
54	// RecoverableProtectedSubscription Denotes a vault and subscription state in which deletion is recoverable
55	// within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and
56	// in which the subscription itself  cannot be permanently canceled. System wil permanently delete it after
57	// 90 days, if not recovered
58	RecoverableProtectedSubscription DeletionRecoveryLevel = "Recoverable+ProtectedSubscription"
59	// RecoverablePurgeable Denotes a vault state in which deletion is recoverable, and which also permits
60	// immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted
61	// entity during the retention interval (90 days), unless a Purge operation is requested, or the
62	// subscription is cancelled. System wil permanently delete it after 90 days, if not recovered
63	RecoverablePurgeable DeletionRecoveryLevel = "Recoverable+Purgeable"
64)
65
66// PossibleDeletionRecoveryLevelValues returns an array of possible values for the DeletionRecoveryLevel const type.
67func PossibleDeletionRecoveryLevelValues() []DeletionRecoveryLevel {
68	return []DeletionRecoveryLevel{CustomizedRecoverable, CustomizedRecoverableProtectedSubscription, CustomizedRecoverablePurgeable, Purgeable, Recoverable, RecoverableProtectedSubscription, RecoverablePurgeable}
69}
70
71// JSONWebKeyCurveName enumerates the values for json web key curve name.
72type JSONWebKeyCurveName string
73
74const (
75	// P256 ...
76	P256 JSONWebKeyCurveName = "P-256"
77	// P256K ...
78	P256K JSONWebKeyCurveName = "P-256K"
79	// P384 ...
80	P384 JSONWebKeyCurveName = "P-384"
81	// P521 ...
82	P521 JSONWebKeyCurveName = "P-521"
83)
84
85// PossibleJSONWebKeyCurveNameValues returns an array of possible values for the JSONWebKeyCurveName const type.
86func PossibleJSONWebKeyCurveNameValues() []JSONWebKeyCurveName {
87	return []JSONWebKeyCurveName{P256, P256K, P384, P521}
88}
89
90// JSONWebKeyEncryptionAlgorithm enumerates the values for json web key encryption algorithm.
91type JSONWebKeyEncryptionAlgorithm string
92
93const (
94	// A128CBC ...
95	A128CBC JSONWebKeyEncryptionAlgorithm = "A128CBC"
96	// A128CBCPAD ...
97	A128CBCPAD JSONWebKeyEncryptionAlgorithm = "A128CBCPAD"
98	// A128GCM ...
99	A128GCM JSONWebKeyEncryptionAlgorithm = "A128GCM"
100	// A128KW ...
101	A128KW JSONWebKeyEncryptionAlgorithm = "A128KW"
102	// A192CBC ...
103	A192CBC JSONWebKeyEncryptionAlgorithm = "A192CBC"
104	// A192CBCPAD ...
105	A192CBCPAD JSONWebKeyEncryptionAlgorithm = "A192CBCPAD"
106	// A192GCM ...
107	A192GCM JSONWebKeyEncryptionAlgorithm = "A192GCM"
108	// A192KW ...
109	A192KW JSONWebKeyEncryptionAlgorithm = "A192KW"
110	// A256CBC ...
111	A256CBC JSONWebKeyEncryptionAlgorithm = "A256CBC"
112	// A256CBCPAD ...
113	A256CBCPAD JSONWebKeyEncryptionAlgorithm = "A256CBCPAD"
114	// A256GCM ...
115	A256GCM JSONWebKeyEncryptionAlgorithm = "A256GCM"
116	// A256KW ...
117	A256KW JSONWebKeyEncryptionAlgorithm = "A256KW"
118	// RSA15 ...
119	RSA15 JSONWebKeyEncryptionAlgorithm = "RSA1_5"
120	// RSAOAEP ...
121	RSAOAEP JSONWebKeyEncryptionAlgorithm = "RSA-OAEP"
122	// RSAOAEP256 ...
123	RSAOAEP256 JSONWebKeyEncryptionAlgorithm = "RSA-OAEP-256"
124)
125
126// PossibleJSONWebKeyEncryptionAlgorithmValues returns an array of possible values for the JSONWebKeyEncryptionAlgorithm const type.
127func PossibleJSONWebKeyEncryptionAlgorithmValues() []JSONWebKeyEncryptionAlgorithm {
128	return []JSONWebKeyEncryptionAlgorithm{A128CBC, A128CBCPAD, A128GCM, A128KW, A192CBC, A192CBCPAD, A192GCM, A192KW, A256CBC, A256CBCPAD, A256GCM, A256KW, RSA15, RSAOAEP, RSAOAEP256}
129}
130
131// JSONWebKeyOperation enumerates the values for json web key operation.
132type JSONWebKeyOperation string
133
134const (
135	// Decrypt ...
136	Decrypt JSONWebKeyOperation = "decrypt"
137	// Encrypt ...
138	Encrypt JSONWebKeyOperation = "encrypt"
139	// Export ...
140	Export JSONWebKeyOperation = "export"
141	// Import ...
142	Import JSONWebKeyOperation = "import"
143	// Sign ...
144	Sign JSONWebKeyOperation = "sign"
145	// UnwrapKey ...
146	UnwrapKey JSONWebKeyOperation = "unwrapKey"
147	// Verify ...
148	Verify JSONWebKeyOperation = "verify"
149	// WrapKey ...
150	WrapKey JSONWebKeyOperation = "wrapKey"
151)
152
153// PossibleJSONWebKeyOperationValues returns an array of possible values for the JSONWebKeyOperation const type.
154func PossibleJSONWebKeyOperationValues() []JSONWebKeyOperation {
155	return []JSONWebKeyOperation{Decrypt, Encrypt, Export, Import, Sign, UnwrapKey, Verify, WrapKey}
156}
157
158// JSONWebKeySignatureAlgorithm enumerates the values for json web key signature algorithm.
159type JSONWebKeySignatureAlgorithm string
160
161const (
162	// ES256 ECDSA using P-256 and SHA-256, as described in https://tools.ietf.org/html/rfc7518.
163	ES256 JSONWebKeySignatureAlgorithm = "ES256"
164	// ES256K ECDSA using P-256K and SHA-256, as described in https://tools.ietf.org/html/rfc7518
165	ES256K JSONWebKeySignatureAlgorithm = "ES256K"
166	// ES384 ECDSA using P-384 and SHA-384, as described in https://tools.ietf.org/html/rfc7518
167	ES384 JSONWebKeySignatureAlgorithm = "ES384"
168	// ES512 ECDSA using P-521 and SHA-512, as described in https://tools.ietf.org/html/rfc7518
169	ES512 JSONWebKeySignatureAlgorithm = "ES512"
170	// PS256 RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in
171	// https://tools.ietf.org/html/rfc7518
172	PS256 JSONWebKeySignatureAlgorithm = "PS256"
173	// PS384 RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in
174	// https://tools.ietf.org/html/rfc7518
175	PS384 JSONWebKeySignatureAlgorithm = "PS384"
176	// PS512 RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in
177	// https://tools.ietf.org/html/rfc7518
178	PS512 JSONWebKeySignatureAlgorithm = "PS512"
179	// RS256 RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518
180	RS256 JSONWebKeySignatureAlgorithm = "RS256"
181	// RS384 RSASSA-PKCS1-v1_5 using SHA-384, as described in https://tools.ietf.org/html/rfc7518
182	RS384 JSONWebKeySignatureAlgorithm = "RS384"
183	// RS512 RSASSA-PKCS1-v1_5 using SHA-512, as described in https://tools.ietf.org/html/rfc7518
184	RS512 JSONWebKeySignatureAlgorithm = "RS512"
185	// RSNULL Reserved
186	RSNULL JSONWebKeySignatureAlgorithm = "RSNULL"
187)
188
189// PossibleJSONWebKeySignatureAlgorithmValues returns an array of possible values for the JSONWebKeySignatureAlgorithm const type.
190func PossibleJSONWebKeySignatureAlgorithmValues() []JSONWebKeySignatureAlgorithm {
191	return []JSONWebKeySignatureAlgorithm{ES256, ES256K, ES384, ES512, PS256, PS384, PS512, RS256, RS384, RS512, RSNULL}
192}
193
194// JSONWebKeyType enumerates the values for json web key type.
195type JSONWebKeyType string
196
197const (
198	// EC ...
199	EC JSONWebKeyType = "EC"
200	// ECHSM ...
201	ECHSM JSONWebKeyType = "EC-HSM"
202	// Oct ...
203	Oct JSONWebKeyType = "oct"
204	// OctHSM ...
205	OctHSM JSONWebKeyType = "oct-HSM"
206	// RSA ...
207	RSA JSONWebKeyType = "RSA"
208	// RSAHSM ...
209	RSAHSM JSONWebKeyType = "RSA-HSM"
210)
211
212// PossibleJSONWebKeyTypeValues returns an array of possible values for the JSONWebKeyType const type.
213func PossibleJSONWebKeyTypeValues() []JSONWebKeyType {
214	return []JSONWebKeyType{EC, ECHSM, Oct, OctHSM, RSA, RSAHSM}
215}
216
217// KeyUsageType enumerates the values for key usage type.
218type KeyUsageType string
219
220const (
221	// CRLSign ...
222	CRLSign KeyUsageType = "cRLSign"
223	// DataEncipherment ...
224	DataEncipherment KeyUsageType = "dataEncipherment"
225	// DecipherOnly ...
226	DecipherOnly KeyUsageType = "decipherOnly"
227	// DigitalSignature ...
228	DigitalSignature KeyUsageType = "digitalSignature"
229	// EncipherOnly ...
230	EncipherOnly KeyUsageType = "encipherOnly"
231	// KeyAgreement ...
232	KeyAgreement KeyUsageType = "keyAgreement"
233	// KeyCertSign ...
234	KeyCertSign KeyUsageType = "keyCertSign"
235	// KeyEncipherment ...
236	KeyEncipherment KeyUsageType = "keyEncipherment"
237	// NonRepudiation ...
238	NonRepudiation KeyUsageType = "nonRepudiation"
239)
240
241// PossibleKeyUsageTypeValues returns an array of possible values for the KeyUsageType const type.
242func PossibleKeyUsageTypeValues() []KeyUsageType {
243	return []KeyUsageType{CRLSign, DataEncipherment, DecipherOnly, DigitalSignature, EncipherOnly, KeyAgreement, KeyCertSign, KeyEncipherment, NonRepudiation}
244}
245
246// OperationStatus enumerates the values for operation status.
247type OperationStatus string
248
249const (
250	// Failed ...
251	Failed OperationStatus = "Failed"
252	// InProgress ...
253	InProgress OperationStatus = "InProgress"
254	// Success ...
255	Success OperationStatus = "Success"
256)
257
258// PossibleOperationStatusValues returns an array of possible values for the OperationStatus const type.
259func PossibleOperationStatusValues() []OperationStatus {
260	return []OperationStatus{Failed, InProgress, Success}
261}
262
263// SasTokenType enumerates the values for sas token type.
264type SasTokenType string
265
266const (
267	// Account ...
268	Account SasTokenType = "account"
269	// Service ...
270	Service SasTokenType = "service"
271)
272
273// PossibleSasTokenTypeValues returns an array of possible values for the SasTokenType const type.
274func PossibleSasTokenTypeValues() []SasTokenType {
275	return []SasTokenType{Account, Service}
276}
277