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	// RSA15 ...
95	RSA15 JSONWebKeyEncryptionAlgorithm = "RSA1_5"
96	// RSAOAEP ...
97	RSAOAEP JSONWebKeyEncryptionAlgorithm = "RSA-OAEP"
98	// RSAOAEP256 ...
99	RSAOAEP256 JSONWebKeyEncryptionAlgorithm = "RSA-OAEP-256"
100)
101
102// PossibleJSONWebKeyEncryptionAlgorithmValues returns an array of possible values for the JSONWebKeyEncryptionAlgorithm const type.
103func PossibleJSONWebKeyEncryptionAlgorithmValues() []JSONWebKeyEncryptionAlgorithm {
104	return []JSONWebKeyEncryptionAlgorithm{RSA15, RSAOAEP, RSAOAEP256}
105}
106
107// JSONWebKeyOperation enumerates the values for json web key operation.
108type JSONWebKeyOperation string
109
110const (
111	// Decrypt ...
112	Decrypt JSONWebKeyOperation = "decrypt"
113	// Encrypt ...
114	Encrypt JSONWebKeyOperation = "encrypt"
115	// Import ...
116	Import JSONWebKeyOperation = "import"
117	// Sign ...
118	Sign JSONWebKeyOperation = "sign"
119	// UnwrapKey ...
120	UnwrapKey JSONWebKeyOperation = "unwrapKey"
121	// Verify ...
122	Verify JSONWebKeyOperation = "verify"
123	// WrapKey ...
124	WrapKey JSONWebKeyOperation = "wrapKey"
125)
126
127// PossibleJSONWebKeyOperationValues returns an array of possible values for the JSONWebKeyOperation const type.
128func PossibleJSONWebKeyOperationValues() []JSONWebKeyOperation {
129	return []JSONWebKeyOperation{Decrypt, Encrypt, Import, Sign, UnwrapKey, Verify, WrapKey}
130}
131
132// JSONWebKeySignatureAlgorithm enumerates the values for json web key signature algorithm.
133type JSONWebKeySignatureAlgorithm string
134
135const (
136	// ES256 ECDSA using P-256 and SHA-256, as described in https://tools.ietf.org/html/rfc7518.
137	ES256 JSONWebKeySignatureAlgorithm = "ES256"
138	// ES256K ECDSA using P-256K and SHA-256, as described in https://tools.ietf.org/html/rfc7518
139	ES256K JSONWebKeySignatureAlgorithm = "ES256K"
140	// ES384 ECDSA using P-384 and SHA-384, as described in https://tools.ietf.org/html/rfc7518
141	ES384 JSONWebKeySignatureAlgorithm = "ES384"
142	// ES512 ECDSA using P-521 and SHA-512, as described in https://tools.ietf.org/html/rfc7518
143	ES512 JSONWebKeySignatureAlgorithm = "ES512"
144	// PS256 RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in
145	// https://tools.ietf.org/html/rfc7518
146	PS256 JSONWebKeySignatureAlgorithm = "PS256"
147	// PS384 RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in
148	// https://tools.ietf.org/html/rfc7518
149	PS384 JSONWebKeySignatureAlgorithm = "PS384"
150	// PS512 RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in
151	// https://tools.ietf.org/html/rfc7518
152	PS512 JSONWebKeySignatureAlgorithm = "PS512"
153	// RS256 RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518
154	RS256 JSONWebKeySignatureAlgorithm = "RS256"
155	// RS384 RSASSA-PKCS1-v1_5 using SHA-384, as described in https://tools.ietf.org/html/rfc7518
156	RS384 JSONWebKeySignatureAlgorithm = "RS384"
157	// RS512 RSASSA-PKCS1-v1_5 using SHA-512, as described in https://tools.ietf.org/html/rfc7518
158	RS512 JSONWebKeySignatureAlgorithm = "RS512"
159	// RSNULL Reserved
160	RSNULL JSONWebKeySignatureAlgorithm = "RSNULL"
161)
162
163// PossibleJSONWebKeySignatureAlgorithmValues returns an array of possible values for the JSONWebKeySignatureAlgorithm const type.
164func PossibleJSONWebKeySignatureAlgorithmValues() []JSONWebKeySignatureAlgorithm {
165	return []JSONWebKeySignatureAlgorithm{ES256, ES256K, ES384, ES512, PS256, PS384, PS512, RS256, RS384, RS512, RSNULL}
166}
167
168// JSONWebKeyType enumerates the values for json web key type.
169type JSONWebKeyType string
170
171const (
172	// EC ...
173	EC JSONWebKeyType = "EC"
174	// ECHSM ...
175	ECHSM JSONWebKeyType = "EC-HSM"
176	// Oct ...
177	Oct JSONWebKeyType = "oct"
178	// RSA ...
179	RSA JSONWebKeyType = "RSA"
180	// RSAHSM ...
181	RSAHSM JSONWebKeyType = "RSA-HSM"
182)
183
184// PossibleJSONWebKeyTypeValues returns an array of possible values for the JSONWebKeyType const type.
185func PossibleJSONWebKeyTypeValues() []JSONWebKeyType {
186	return []JSONWebKeyType{EC, ECHSM, Oct, RSA, RSAHSM}
187}
188
189// KeyUsageType enumerates the values for key usage type.
190type KeyUsageType string
191
192const (
193	// CRLSign ...
194	CRLSign KeyUsageType = "cRLSign"
195	// DataEncipherment ...
196	DataEncipherment KeyUsageType = "dataEncipherment"
197	// DecipherOnly ...
198	DecipherOnly KeyUsageType = "decipherOnly"
199	// DigitalSignature ...
200	DigitalSignature KeyUsageType = "digitalSignature"
201	// EncipherOnly ...
202	EncipherOnly KeyUsageType = "encipherOnly"
203	// KeyAgreement ...
204	KeyAgreement KeyUsageType = "keyAgreement"
205	// KeyCertSign ...
206	KeyCertSign KeyUsageType = "keyCertSign"
207	// KeyEncipherment ...
208	KeyEncipherment KeyUsageType = "keyEncipherment"
209	// NonRepudiation ...
210	NonRepudiation KeyUsageType = "nonRepudiation"
211)
212
213// PossibleKeyUsageTypeValues returns an array of possible values for the KeyUsageType const type.
214func PossibleKeyUsageTypeValues() []KeyUsageType {
215	return []KeyUsageType{CRLSign, DataEncipherment, DecipherOnly, DigitalSignature, EncipherOnly, KeyAgreement, KeyCertSign, KeyEncipherment, NonRepudiation}
216}
217
218// SasTokenType enumerates the values for sas token type.
219type SasTokenType string
220
221const (
222	// Account ...
223	Account SasTokenType = "account"
224	// Service ...
225	Service SasTokenType = "service"
226)
227
228// PossibleSasTokenTypeValues returns an array of possible values for the SasTokenType const type.
229func PossibleSasTokenTypeValues() []SasTokenType {
230	return []SasTokenType{Account, Service}
231}
232