diff --git a/packages/@azure/keyvault/LICENSE.txt b/packages/@azure/keyvault/LICENSE.txt new file mode 100644 index 000000000000..b73b4a1293c3 --- /dev/null +++ b/packages/@azure/keyvault/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/@azure/keyvault/README.md b/packages/@azure/keyvault/README.md new file mode 100644 index 000000000000..94fdcc871711 --- /dev/null +++ b/packages/@azure/keyvault/README.md @@ -0,0 +1,102 @@ +## Azure KeyVaultClient SDK for JavaScript + +This package contains an isomorphic SDK for KeyVaultClient. + +### Currently supported environments + +- Node.js version 6.x.x or higher +- Browser JavaScript + +### How to Install + +```bash +npm install @azure/keyvault +``` + +### How to use + +#### nodejs - Authentication, client creation and getKey as an example written in TypeScript. + +##### Install @azure/ms-rest-nodeauth + +```bash +npm install @azure/ms-rest-nodeauth +``` + +##### Sample code + +```typescript +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; +import { KeyVaultClient, KeyVaultModels, KeyVaultMappers } from "@azure/keyvault"; +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new KeyVaultClient(creds, subscriptionId); + const vaultBaseUrl = "testvaultBaseUrl"; + const keyName = "testkeyName"; + const keyVersion = "testkeyVersion"; + client.getKey(vaultBaseUrl, keyName, keyVersion).then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +#### browser - Authentication, client creation and getKey as an example written in JavaScript. + +##### Install @azure/ms-rest-browserauth + +```bash +npm install @azure/ms-rest-browserauth +``` + +##### Sample code + +See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. + +- index.html +```html + + + + @azure/keyvault sample + + + + + + + + +``` + +## Related projects + +- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) diff --git a/packages/@azure/keyvault/lib/keyVaultClient.ts b/packages/@azure/keyvault/lib/keyVaultClient.ts new file mode 100644 index 000000000000..d417726f55f0 --- /dev/null +++ b/packages/@azure/keyvault/lib/keyVaultClient.ts @@ -0,0 +1,6002 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as Models from "./models"; +import * as Mappers from "./models/mappers"; +import * as Parameters from "./models/parameters"; +import { KeyVaultClientContext } from "./keyVaultClientContext"; + + +class KeyVaultClient extends KeyVaultClientContext { + /** + * Initializes a new instance of the KeyVaultClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, options?: msRestAzure.AzureServiceClientOptions) { + super(credentials, options); + } + + /** + * The create key operation can be used to create any key type in Azure Key Vault. If the named key + * already exists, Azure Key Vault creates a new version of the key. It requires the keys/create + * permission. + * @summary Creates a new key, stores it, then returns key parameters and attributes to the client. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name for the new key. The system will generate the version name for the new + * key. + * @param kty The type of key to create. For valid values, see JsonWebKeyType. Possible values + * include: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct' + * @param [options] The optional parameters + * @returns Promise + */ + createKey(vaultBaseUrl: string, keyName: string, kty: Models.JsonWebKeyType, options?: Models.KeyVaultClientCreateKeyOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name for the new key. The system will generate the version name for the new + * key. + * @param kty The type of key to create. For valid values, see JsonWebKeyType. Possible values + * include: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct' + * @param callback The callback + */ + createKey(vaultBaseUrl: string, keyName: string, kty: Models.JsonWebKeyType, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name for the new key. The system will generate the version name for the new + * key. + * @param kty The type of key to create. For valid values, see JsonWebKeyType. Possible values + * include: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct' + * @param options The optional parameters + * @param callback The callback + */ + createKey(vaultBaseUrl: string, keyName: string, kty: Models.JsonWebKeyType, options: Models.KeyVaultClientCreateKeyOptionalParams, callback: msRest.ServiceCallback): void; + createKey(vaultBaseUrl: string, keyName: string, kty: Models.JsonWebKeyType, options?: Models.KeyVaultClientCreateKeyOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + kty, + options + }, + createKeyOperationSpec, + callback) as Promise; + } + + /** + * The import key operation may be used to import any key type into an Azure Key Vault. If the + * named key already exists, Azure Key Vault creates a new version of the key. This operation + * requires the keys/import permission. + * @summary Imports an externally created key, stores it, and returns key parameters and attributes + * to the client. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName Name for the imported key. + * @param key The Json web key + * @param [options] The optional parameters + * @returns Promise + */ + importKey(vaultBaseUrl: string, keyName: string, key: Models.JsonWebKey, options?: Models.KeyVaultClientImportKeyOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName Name for the imported key. + * @param key The Json web key + * @param callback The callback + */ + importKey(vaultBaseUrl: string, keyName: string, key: Models.JsonWebKey, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName Name for the imported key. + * @param key The Json web key + * @param options The optional parameters + * @param callback The callback + */ + importKey(vaultBaseUrl: string, keyName: string, key: Models.JsonWebKey, options: Models.KeyVaultClientImportKeyOptionalParams, callback: msRest.ServiceCallback): void; + importKey(vaultBaseUrl: string, keyName: string, key: Models.JsonWebKey, options?: Models.KeyVaultClientImportKeyOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + key, + options + }, + importKeyOperationSpec, + callback) as Promise; + } + + /** + * The delete key operation cannot be used to remove individual versions of a key. This operation + * removes the cryptographic material associated with the key, which means the key is not usable + * for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the + * keys/delete permission. + * @summary Deletes a key of any type from storage in Azure Key Vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key to delete. + * @param [options] The optional parameters + * @returns Promise + */ + deleteKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key to delete. + * @param callback The callback + */ + deleteKey(vaultBaseUrl: string, keyName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key to delete. + * @param options The optional parameters + * @param callback The callback + */ + deleteKey(vaultBaseUrl: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + options + }, + deleteKeyOperationSpec, + callback) as Promise; + } + + /** + * In order to perform this operation, the key must already exist in the Key Vault. Note: The + * cryptographic material of a key itself cannot be changed. This operation requires the + * keys/update permission. + * @summary The update key operation changes specified attributes of a stored key and can be + * applied to any key type and key version stored in Azure Key Vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of key to update. + * @param keyVersion The version of the key to update. + * @param [options] The optional parameters + * @returns Promise + */ + updateKey(vaultBaseUrl: string, keyName: string, keyVersion: string, options?: Models.KeyVaultClientUpdateKeyOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of key to update. + * @param keyVersion The version of the key to update. + * @param callback The callback + */ + updateKey(vaultBaseUrl: string, keyName: string, keyVersion: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of key to update. + * @param keyVersion The version of the key to update. + * @param options The optional parameters + * @param callback The callback + */ + updateKey(vaultBaseUrl: string, keyName: string, keyVersion: string, options: Models.KeyVaultClientUpdateKeyOptionalParams, callback: msRest.ServiceCallback): void; + updateKey(vaultBaseUrl: string, keyName: string, keyVersion: string, options?: Models.KeyVaultClientUpdateKeyOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + options + }, + updateKeyOperationSpec, + callback) as Promise; + } + + /** + * The get key operation is applicable to all key types. If the requested key is symmetric, then no + * key material is released in the response. This operation requires the keys/get permission. + * @summary Gets the public part of a stored key. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key to get. + * @param keyVersion Adding the version parameter retrieves a specific version of a key. + * @param [options] The optional parameters + * @returns Promise + */ + getKey(vaultBaseUrl: string, keyName: string, keyVersion: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key to get. + * @param keyVersion Adding the version parameter retrieves a specific version of a key. + * @param callback The callback + */ + getKey(vaultBaseUrl: string, keyName: string, keyVersion: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key to get. + * @param keyVersion Adding the version parameter retrieves a specific version of a key. + * @param options The optional parameters + * @param callback The callback + */ + getKey(vaultBaseUrl: string, keyName: string, keyVersion: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getKey(vaultBaseUrl: string, keyName: string, keyVersion: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + options + }, + getKeyOperationSpec, + callback) as Promise; + } + + /** + * The full key identifier, attributes, and tags are provided in the response. This operation + * requires the keys/list permission. + * @summary Retrieves a list of individual key versions with the same key name. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param [options] The optional parameters + * @returns Promise + */ + getKeyVersions(vaultBaseUrl: string, keyName: string, options?: Models.KeyVaultClientGetKeyVersionsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param callback The callback + */ + getKeyVersions(vaultBaseUrl: string, keyName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param options The optional parameters + * @param callback The callback + */ + getKeyVersions(vaultBaseUrl: string, keyName: string, options: Models.KeyVaultClientGetKeyVersionsOptionalParams, callback: msRest.ServiceCallback): void; + getKeyVersions(vaultBaseUrl: string, keyName: string, options?: Models.KeyVaultClientGetKeyVersionsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + options + }, + getKeyVersionsOperationSpec, + callback) as Promise; + } + + /** + * Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public + * part of a stored key. The LIST operation is applicable to all key types, however only the base + * key identifier, attributes, and tags are provided in the response. Individual versions of a key + * are not listed in the response. This operation requires the keys/list permission. + * @summary List keys in the specified vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getKeys(vaultBaseUrl: string, options?: Models.KeyVaultClientGetKeysOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getKeys(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getKeys(vaultBaseUrl: string, options: Models.KeyVaultClientGetKeysOptionalParams, callback: msRest.ServiceCallback): void; + getKeys(vaultBaseUrl: string, options?: Models.KeyVaultClientGetKeysOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getKeysOperationSpec, + callback) as Promise; + } + + /** + * The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this + * operation does NOT return key material in a form that can be used outside the Azure Key Vault + * system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key + * Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure + * Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. + * The BACKUP operation may be used to export, in protected form, any key type from Azure Key + * Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed + * within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be + * restored to another geographical area. For example, a backup from the US geographical area + * cannot be restored in an EU geographical area. This operation requires the key/backup + * permission. + * @summary Requests that a backup of the specified key be downloaded to the client. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param [options] The optional parameters + * @returns Promise + */ + backupKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param callback The callback + */ + backupKey(vaultBaseUrl: string, keyName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param options The optional parameters + * @param callback The callback + */ + backupKey(vaultBaseUrl: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + backupKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + options + }, + backupKeyOperationSpec, + callback) as Promise; + } + + /** + * Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, + * attributes and access control policies. The RESTORE operation may be used to import a previously + * backed up key. Individual versions of a key cannot be restored. The key is restored in its + * entirety with the same key name as it had when it was backed up. If the key name is not + * available in the target Key Vault, the RESTORE operation will be rejected. While the key name is + * retained during restore, the final key identifier will change if the key is restored to a + * different vault. Restore will restore all versions and preserve version identifiers. The RESTORE + * operation is subject to security constraints: The target Key Vault must be owned by the same + * Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in + * the target Key Vault. This operation requires the keys/restore permission. + * @summary Restores a backed up key to a vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyBundleBackup The backup blob associated with a key bundle. + * @param [options] The optional parameters + * @returns Promise + */ + restoreKey(vaultBaseUrl: string, keyBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyBundleBackup The backup blob associated with a key bundle. + * @param callback The callback + */ + restoreKey(vaultBaseUrl: string, keyBundleBackup: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyBundleBackup The backup blob associated with a key bundle. + * @param options The optional parameters + * @param callback The callback + */ + restoreKey(vaultBaseUrl: string, keyBundleBackup: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + restoreKey(vaultBaseUrl: string, keyBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyBundleBackup, + options + }, + restoreKeyOperationSpec, + callback) as Promise; + } + + /** + * The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is + * stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, + * the size of which is dependent on the target key and the encryption algorithm to be used. The + * ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since + * protection with an asymmetric key can be performed using public portion of the key. This + * operation is supported for asymmetric keys as a convenience for callers that have a + * key-reference but do not have access to the public key material. This operation requires the + * keys/encrypt permission. + * @summary Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key + * vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param [options] The optional parameters + * @returns Promise + */ + encrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param callback The callback + */ + encrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param options The optional parameters + * @param callback The callback + */ + encrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + encrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + algorithm, + value, + options + }, + encryptOperationSpec, + callback) as Promise; + } + + /** + * The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key + * and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single + * block of data may be decrypted, the size of this block is dependent on the target key and the + * algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in + * Azure Key Vault since it uses the private portion of the key. This operation requires the + * keys/decrypt permission. + * @summary Decrypts a single block of encrypted data. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param [options] The optional parameters + * @returns Promise + */ + decrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param callback The callback + */ + decrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param options The optional parameters + * @param callback The callback + */ + decrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + decrypt(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + algorithm, + value, + options + }, + decryptOperationSpec, + callback) as Promise; + } + + /** + * The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault + * since this operation uses the private portion of the key. This operation requires the keys/sign + * permission. + * @summary Creates a signature from a digest using the specified key. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm The signing/verification algorithm identifier. For more information on possible + * algorithm types, see JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', 'PS384', + * 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', 'ES512', 'ES256K' + * @param value + * @param [options] The optional parameters + * @returns Promise + */ + sign(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm The signing/verification algorithm identifier. For more information on possible + * algorithm types, see JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', 'PS384', + * 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', 'ES512', 'ES256K' + * @param value + * @param callback The callback + */ + sign(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, value: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm The signing/verification algorithm identifier. For more information on possible + * algorithm types, see JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', 'PS384', + * 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', 'ES512', 'ES256K' + * @param value + * @param options The optional parameters + * @param callback The callback + */ + sign(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, value: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + sign(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + algorithm, + value, + options + }, + signOperationSpec, + callback) as Promise; + } + + /** + * The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not + * strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification + * can be performed using the public portion of the key but this operation is supported as a + * convenience for callers that only have a key-reference and not the public portion of the key. + * This operation requires the keys/verify permission. + * @summary Verifies a signature using a specified key. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm The signing/verification algorithm. For more information on possible algorithm + * types, see JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', 'PS384', 'PS512', + * 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', 'ES512', 'ES256K' + * @param digest The digest used for signing. + * @param signature The signature to be verified. + * @param [options] The optional parameters + * @returns Promise + */ + verify(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, digest: Uint8Array, signature: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm The signing/verification algorithm. For more information on possible algorithm + * types, see JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', 'PS384', 'PS512', + * 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', 'ES512', 'ES256K' + * @param digest The digest used for signing. + * @param signature The signature to be verified. + * @param callback The callback + */ + verify(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, digest: Uint8Array, signature: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm The signing/verification algorithm. For more information on possible algorithm + * types, see JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', 'PS384', 'PS512', + * 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', 'ES512', 'ES256K' + * @param digest The digest used for signing. + * @param signature The signature to be verified. + * @param options The optional parameters + * @param callback The callback + */ + verify(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, digest: Uint8Array, signature: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + verify(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeySignatureAlgorithm, digest: Uint8Array, signature: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + algorithm, + digest, + signature, + options + }, + verifyOperationSpec, + callback) as Promise; + } + + /** + * The WRAP operation supports encryption of a symmetric key using a key encryption key that has + * previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for + * symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be + * performed using the public portion of the key. This operation is supported for asymmetric keys + * as a convenience for callers that have a key-reference but do not have access to the public key + * material. This operation requires the keys/wrapKey permission. + * @summary Wraps a symmetric key using a specified key. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param [options] The optional parameters + * @returns Promise + */ + wrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param callback The callback + */ + wrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param options The optional parameters + * @param callback The callback + */ + wrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + wrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + algorithm, + value, + options + }, + wrapKeyOperationSpec, + callback) as Promise; + } + + /** + * The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. + * This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric + * and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This + * operation requires the keys/unwrapKey permission. + * @summary Unwraps a symmetric key using the specified key that was initially used for wrapping + * that key. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param [options] The optional parameters + * @returns Promise + */ + unwrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param callback The callback + */ + unwrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param keyVersion The version of the key. + * @param algorithm algorithm identifier. Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', + * 'RSA1_5' + * @param value + * @param options The optional parameters + * @param callback The callback + */ + unwrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + unwrapKey(vaultBaseUrl: string, keyName: string, keyVersion: string, algorithm: Models.JsonWebKeyEncryptionAlgorithm, value: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + keyVersion, + algorithm, + value, + options + }, + unwrapKeyOperationSpec, + callback) as Promise; + } + + /** + * Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public + * part of a deleted key. This operation includes deletion-specific information. The Get Deleted + * Keys operation is applicable for vaults enabled for soft-delete. While the operation can be + * invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. + * This operation requires the keys/list permission. + * @summary Lists the deleted keys in the specified vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedKeys(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedKeysOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getDeletedKeys(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedKeys(vaultBaseUrl: string, options: Models.KeyVaultClientGetDeletedKeysOptionalParams, callback: msRest.ServiceCallback): void; + getDeletedKeys(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedKeysOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getDeletedKeysOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation + * can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled + * vault. This operation requires the keys/get permission. + * @summary Gets the public part of a deleted key. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param callback The callback + */ + getDeletedKey(vaultBaseUrl: string, keyName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedKey(vaultBaseUrl: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + options + }, + getDeletedKeyOperationSpec, + callback) as Promise; + } + + /** + * The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the + * operation can be invoked on any vault, it will return an error if invoked on a non soft-delete + * enabled vault. This operation requires the keys/purge permission. + * @summary Permanently deletes the specified key. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key + * @param [options] The optional parameters + * @returns Promise + */ + purgeDeletedKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key + * @param callback The callback + */ + purgeDeletedKey(vaultBaseUrl: string, keyName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key + * @param options The optional parameters + * @param callback The callback + */ + purgeDeletedKey(vaultBaseUrl: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + purgeDeletedKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + options + }, + purgeDeletedKeyOperationSpec, + callback); + } + + /** + * The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. + * It recovers the deleted key back to its latest version under /keys. An attempt to recover an + * non-deleted key will return an error. Consider this the inverse of the delete operation on + * soft-delete enabled vaults. This operation requires the keys/recover permission. + * @summary Recovers the deleted key to its latest version. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the deleted key. + * @param [options] The optional parameters + * @returns Promise + */ + recoverDeletedKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the deleted key. + * @param callback The callback + */ + recoverDeletedKey(vaultBaseUrl: string, keyName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the deleted key. + * @param options The optional parameters + * @param callback The callback + */ + recoverDeletedKey(vaultBaseUrl: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + recoverDeletedKey(vaultBaseUrl: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + keyName, + options + }, + recoverDeletedKeyOperationSpec, + callback) as Promise; + } + + /** + * The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, + * Azure Key Vault creates a new version of that secret. This operation requires the secrets/set + * permission. + * @summary Sets a secret in a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param value The value of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + setSecret(vaultBaseUrl: string, secretName: string, value: string, options?: Models.KeyVaultClientSetSecretOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param value The value of the secret. + * @param callback The callback + */ + setSecret(vaultBaseUrl: string, secretName: string, value: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param value The value of the secret. + * @param options The optional parameters + * @param callback The callback + */ + setSecret(vaultBaseUrl: string, secretName: string, value: string, options: Models.KeyVaultClientSetSecretOptionalParams, callback: msRest.ServiceCallback): void; + setSecret(vaultBaseUrl: string, secretName: string, value: string, options?: Models.KeyVaultClientSetSecretOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + value, + options + }, + setSecretOperationSpec, + callback) as Promise; + } + + /** + * The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied + * to an individual version of a secret. This operation requires the secrets/delete permission. + * @summary Deletes a secret from a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + deleteSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param callback The callback + */ + deleteSecret(vaultBaseUrl: string, secretName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param options The optional parameters + * @param callback The callback + */ + deleteSecret(vaultBaseUrl: string, secretName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + options + }, + deleteSecretOperationSpec, + callback) as Promise; + } + + /** + * The UPDATE operation changes specified attributes of an existing stored secret. Attributes that + * are not specified in the request are left unchanged. The value of a secret itself cannot be + * changed. This operation requires the secrets/set permission. + * @summary Updates the attributes associated with a specified secret in a given key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param secretVersion The version of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + updateSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, options?: Models.KeyVaultClientUpdateSecretOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param secretVersion The version of the secret. + * @param callback The callback + */ + updateSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param secretVersion The version of the secret. + * @param options The optional parameters + * @param callback The callback + */ + updateSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, options: Models.KeyVaultClientUpdateSecretOptionalParams, callback: msRest.ServiceCallback): void; + updateSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, options?: Models.KeyVaultClientUpdateSecretOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + secretVersion, + options + }, + updateSecretOperationSpec, + callback) as Promise; + } + + /** + * The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires + * the secrets/get permission. + * @summary Get a specified secret from a given key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param secretVersion The version of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + getSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param secretVersion The version of the secret. + * @param callback The callback + */ + getSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param secretVersion The version of the secret. + * @param options The optional parameters + * @param callback The callback + */ + getSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getSecret(vaultBaseUrl: string, secretName: string, secretVersion: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + secretVersion, + options + }, + getSecretOperationSpec, + callback) as Promise; + } + + /** + * The Get Secrets operation is applicable to the entire vault. However, only the base secret + * identifier and its attributes are provided in the response. Individual secret versions are not + * listed in the response. This operation requires the secrets/list permission. + * @summary List secrets in a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getSecrets(vaultBaseUrl: string, options?: Models.KeyVaultClientGetSecretsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getSecrets(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getSecrets(vaultBaseUrl: string, options: Models.KeyVaultClientGetSecretsOptionalParams, callback: msRest.ServiceCallback): void; + getSecrets(vaultBaseUrl: string, options?: Models.KeyVaultClientGetSecretsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getSecretsOperationSpec, + callback) as Promise; + } + + /** + * The full secret identifier and attributes are provided in the response. No values are returned + * for the secrets. This operations requires the secrets/list permission. + * @summary List all versions of the specified secret. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + getSecretVersions(vaultBaseUrl: string, secretName: string, options?: Models.KeyVaultClientGetSecretVersionsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param callback The callback + */ + getSecretVersions(vaultBaseUrl: string, secretName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param options The optional parameters + * @param callback The callback + */ + getSecretVersions(vaultBaseUrl: string, secretName: string, options: Models.KeyVaultClientGetSecretVersionsOptionalParams, callback: msRest.ServiceCallback): void; + getSecretVersions(vaultBaseUrl: string, secretName: string, options?: Models.KeyVaultClientGetSecretVersionsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + options + }, + getSecretVersionsOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled + * for soft-delete. This operation requires the secrets/list permission. + * @summary Lists deleted secrets for the specified vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedSecrets(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedSecretsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getDeletedSecrets(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedSecrets(vaultBaseUrl: string, options: Models.KeyVaultClientGetDeletedSecretsOptionalParams, callback: msRest.ServiceCallback): void; + getDeletedSecrets(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedSecretsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getDeletedSecretsOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Secret operation returns the specified deleted secret along with its attributes. + * This operation requires the secrets/get permission. + * @summary Gets the specified deleted secret. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param callback The callback + */ + getDeletedSecret(vaultBaseUrl: string, secretName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedSecret(vaultBaseUrl: string, secretName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + options + }, + getDeletedSecretOperationSpec, + callback) as Promise; + } + + /** + * The purge deleted secret operation removes the secret permanently, without the possibility of + * recovery. This operation can only be enabled on a soft-delete enabled vault. This operation + * requires the secrets/purge permission. + * @summary Permanently deletes the specified secret. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + purgeDeletedSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param callback The callback + */ + purgeDeletedSecret(vaultBaseUrl: string, secretName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param options The optional parameters + * @param callback The callback + */ + purgeDeletedSecret(vaultBaseUrl: string, secretName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + purgeDeletedSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + options + }, + purgeDeletedSecretOperationSpec, + callback); + } + + /** + * Recovers the deleted secret in the specified vault. This operation can only be performed on a + * soft-delete enabled vault. This operation requires the secrets/recover permission. + * @summary Recovers the deleted secret to the latest version. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the deleted secret. + * @param [options] The optional parameters + * @returns Promise + */ + recoverDeletedSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the deleted secret. + * @param callback The callback + */ + recoverDeletedSecret(vaultBaseUrl: string, secretName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the deleted secret. + * @param options The optional parameters + * @param callback The callback + */ + recoverDeletedSecret(vaultBaseUrl: string, secretName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + recoverDeletedSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + options + }, + recoverDeletedSecretOperationSpec, + callback) as Promise; + } + + /** + * Requests that a backup of the specified secret be downloaded to the client. All versions of the + * secret will be downloaded. This operation requires the secrets/backup permission. + * @summary Backs up the specified secret. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + backupSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param callback The callback + */ + backupSecret(vaultBaseUrl: string, secretName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param options The optional parameters + * @param callback The callback + */ + backupSecret(vaultBaseUrl: string, secretName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + backupSecret(vaultBaseUrl: string, secretName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretName, + options + }, + backupSecretOperationSpec, + callback) as Promise; + } + + /** + * Restores a backed up secret, and all its versions, to a vault. This operation requires the + * secrets/restore permission. + * @summary Restores a backed up secret to a vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretBundleBackup The backup blob associated with a secret bundle. + * @param [options] The optional parameters + * @returns Promise + */ + restoreSecret(vaultBaseUrl: string, secretBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretBundleBackup The backup blob associated with a secret bundle. + * @param callback The callback + */ + restoreSecret(vaultBaseUrl: string, secretBundleBackup: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretBundleBackup The backup blob associated with a secret bundle. + * @param options The optional parameters + * @param callback The callback + */ + restoreSecret(vaultBaseUrl: string, secretBundleBackup: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + restoreSecret(vaultBaseUrl: string, secretBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + secretBundleBackup, + options + }, + restoreSecretOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificates operation returns the set of certificates resources in the specified key + * vault. This operation requires the certificates/list permission. + * @summary List certificates in a specified key vault + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificates(vaultBaseUrl: string, options?: Models.KeyVaultClientGetCertificatesOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getCertificates(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getCertificates(vaultBaseUrl: string, options: Models.KeyVaultClientGetCertificatesOptionalParams, callback: msRest.ServiceCallback): void; + getCertificates(vaultBaseUrl: string, options?: Models.KeyVaultClientGetCertificatesOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getCertificatesOperationSpec, + callback) as Promise; + } + + /** + * Deletes all versions of a certificate object along with its associated policy. Delete + * certificate cannot be used to remove individual versions of a certificate object. This operation + * requires the certificates/delete permission. + * @summary Deletes a certificate from a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + deleteCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param callback The callback + */ + deleteCertificate(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + deleteCertificate(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + deleteCertificateOperationSpec, + callback) as Promise; + } + + /** + * Sets the certificate contacts for the specified key vault. This operation requires the + * certificates/managecontacts permission. + * @summary Sets the certificate contacts for the specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param contacts The contacts for the key vault certificate. + * @param [options] The optional parameters + * @returns Promise + */ + setCertificateContacts(vaultBaseUrl: string, contacts: Models.Contacts, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param contacts The contacts for the key vault certificate. + * @param callback The callback + */ + setCertificateContacts(vaultBaseUrl: string, contacts: Models.Contacts, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param contacts The contacts for the key vault certificate. + * @param options The optional parameters + * @param callback The callback + */ + setCertificateContacts(vaultBaseUrl: string, contacts: Models.Contacts, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + setCertificateContacts(vaultBaseUrl: string, contacts: Models.Contacts, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + contacts, + options + }, + setCertificateContactsOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificateContacts operation returns the set of certificate contact resources in the + * specified key vault. This operation requires the certificates/managecontacts permission. + * @summary Lists the certificate contacts for a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificateContacts(vaultBaseUrl: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getCertificateContacts(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getCertificateContacts(vaultBaseUrl: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificateContacts(vaultBaseUrl: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getCertificateContactsOperationSpec, + callback) as Promise; + } + + /** + * Deletes the certificate contacts for a specified key vault certificate. This operation requires + * the certificates/managecontacts permission. + * @summary Deletes the certificate contacts for a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + deleteCertificateContacts(vaultBaseUrl: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + deleteCertificateContacts(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + deleteCertificateContacts(vaultBaseUrl: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteCertificateContacts(vaultBaseUrl: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + deleteCertificateContactsOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificateIssuers operation returns the set of certificate issuer resources in the + * specified key vault. This operation requires the certificates/manageissuers/getissuers + * permission. + * @summary List certificate issuers for a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificateIssuers(vaultBaseUrl: string, options?: Models.KeyVaultClientGetCertificateIssuersOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getCertificateIssuers(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getCertificateIssuers(vaultBaseUrl: string, options: Models.KeyVaultClientGetCertificateIssuersOptionalParams, callback: msRest.ServiceCallback): void; + getCertificateIssuers(vaultBaseUrl: string, options?: Models.KeyVaultClientGetCertificateIssuersOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getCertificateIssuersOperationSpec, + callback) as Promise; + } + + /** + * The SetCertificateIssuer operation adds or updates the specified certificate issuer. This + * operation requires the certificates/setissuers permission. + * @summary Sets the specified certificate issuer. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param provider The issuer provider. + * @param [options] The optional parameters + * @returns Promise + */ + setCertificateIssuer(vaultBaseUrl: string, issuerName: string, provider: string, options?: Models.KeyVaultClientSetCertificateIssuerOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param provider The issuer provider. + * @param callback The callback + */ + setCertificateIssuer(vaultBaseUrl: string, issuerName: string, provider: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param provider The issuer provider. + * @param options The optional parameters + * @param callback The callback + */ + setCertificateIssuer(vaultBaseUrl: string, issuerName: string, provider: string, options: Models.KeyVaultClientSetCertificateIssuerOptionalParams, callback: msRest.ServiceCallback): void; + setCertificateIssuer(vaultBaseUrl: string, issuerName: string, provider: string, options?: Models.KeyVaultClientSetCertificateIssuerOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + issuerName, + provider, + options + }, + setCertificateIssuerOperationSpec, + callback) as Promise; + } + + /** + * The UpdateCertificateIssuer operation performs an update on the specified certificate issuer + * entity. This operation requires the certificates/setissuers permission. + * @summary Updates the specified certificate issuer. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param [options] The optional parameters + * @returns Promise + */ + updateCertificateIssuer(vaultBaseUrl: string, issuerName: string, options?: Models.KeyVaultClientUpdateCertificateIssuerOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param callback The callback + */ + updateCertificateIssuer(vaultBaseUrl: string, issuerName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param options The optional parameters + * @param callback The callback + */ + updateCertificateIssuer(vaultBaseUrl: string, issuerName: string, options: Models.KeyVaultClientUpdateCertificateIssuerOptionalParams, callback: msRest.ServiceCallback): void; + updateCertificateIssuer(vaultBaseUrl: string, issuerName: string, options?: Models.KeyVaultClientUpdateCertificateIssuerOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + issuerName, + options + }, + updateCertificateIssuerOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificateIssuer operation returns the specified certificate issuer resources in the + * specified key vault. This operation requires the certificates/manageissuers/getissuers + * permission. + * @summary Lists the specified certificate issuer. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificateIssuer(vaultBaseUrl: string, issuerName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param callback The callback + */ + getCertificateIssuer(vaultBaseUrl: string, issuerName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param options The optional parameters + * @param callback The callback + */ + getCertificateIssuer(vaultBaseUrl: string, issuerName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificateIssuer(vaultBaseUrl: string, issuerName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + issuerName, + options + }, + getCertificateIssuerOperationSpec, + callback) as Promise; + } + + /** + * The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from + * the vault. This operation requires the certificates/manageissuers/deleteissuers permission. + * @summary Deletes the specified certificate issuer. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param [options] The optional parameters + * @returns Promise + */ + deleteCertificateIssuer(vaultBaseUrl: string, issuerName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param callback The callback + */ + deleteCertificateIssuer(vaultBaseUrl: string, issuerName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param issuerName The name of the issuer. + * @param options The optional parameters + * @param callback The callback + */ + deleteCertificateIssuer(vaultBaseUrl: string, issuerName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteCertificateIssuer(vaultBaseUrl: string, issuerName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + issuerName, + options + }, + deleteCertificateIssuerOperationSpec, + callback) as Promise; + } + + /** + * If this is the first version, the certificate resource is created. This operation requires the + * certificates/create permission. + * @summary Creates a new certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + createCertificate(vaultBaseUrl: string, certificateName: string, options?: Models.KeyVaultClientCreateCertificateOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param callback The callback + */ + createCertificate(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + createCertificate(vaultBaseUrl: string, certificateName: string, options: Models.KeyVaultClientCreateCertificateOptionalParams, callback: msRest.ServiceCallback): void; + createCertificate(vaultBaseUrl: string, certificateName: string, options?: Models.KeyVaultClientCreateCertificateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + createCertificateOperationSpec, + callback) as Promise; + } + + /** + * Imports an existing valid certificate, containing a private key, into Azure Key Vault. The + * certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM + * format the PEM file must contain the key as well as x509 certificates. This operation requires + * the certificates/import permission. + * @summary Imports a certificate into a specified key vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param base64EncodedCertificate Base64 encoded representation of the certificate object to + * import. This certificate needs to contain the private key. + * @param [options] The optional parameters + * @returns Promise + */ + importCertificate(vaultBaseUrl: string, certificateName: string, base64EncodedCertificate: string, options?: Models.KeyVaultClientImportCertificateOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param base64EncodedCertificate Base64 encoded representation of the certificate object to + * import. This certificate needs to contain the private key. + * @param callback The callback + */ + importCertificate(vaultBaseUrl: string, certificateName: string, base64EncodedCertificate: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param base64EncodedCertificate Base64 encoded representation of the certificate object to + * import. This certificate needs to contain the private key. + * @param options The optional parameters + * @param callback The callback + */ + importCertificate(vaultBaseUrl: string, certificateName: string, base64EncodedCertificate: string, options: Models.KeyVaultClientImportCertificateOptionalParams, callback: msRest.ServiceCallback): void; + importCertificate(vaultBaseUrl: string, certificateName: string, base64EncodedCertificate: string, options?: Models.KeyVaultClientImportCertificateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + base64EncodedCertificate, + options + }, + importCertificateOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificateVersions operation returns the versions of a certificate in the specified key + * vault. This operation requires the certificates/list permission. + * @summary List the versions of a certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificateVersions(vaultBaseUrl: string, certificateName: string, options?: Models.KeyVaultClientGetCertificateVersionsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param callback The callback + */ + getCertificateVersions(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + getCertificateVersions(vaultBaseUrl: string, certificateName: string, options: Models.KeyVaultClientGetCertificateVersionsOptionalParams, callback: msRest.ServiceCallback): void; + getCertificateVersions(vaultBaseUrl: string, certificateName: string, options?: Models.KeyVaultClientGetCertificateVersionsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + getCertificateVersionsOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificatePolicy operation returns the specified certificate policy resources in the + * specified key vault. This operation requires the certificates/get permission. + * @summary Lists the policy for a certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in a given key vault. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificatePolicy(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in a given key vault. + * @param callback The callback + */ + getCertificatePolicy(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in a given key vault. + * @param options The optional parameters + * @param callback The callback + */ + getCertificatePolicy(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificatePolicy(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + getCertificatePolicyOperationSpec, + callback) as Promise; + } + + /** + * Set specified members in the certificate policy. Leave others as null. This operation requires + * the certificates/update permission. + * @summary Updates the policy for a certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given vault. + * @param certificatePolicy The policy for the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + updateCertificatePolicy(vaultBaseUrl: string, certificateName: string, certificatePolicy: Models.CertificatePolicy, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given vault. + * @param certificatePolicy The policy for the certificate. + * @param callback The callback + */ + updateCertificatePolicy(vaultBaseUrl: string, certificateName: string, certificatePolicy: Models.CertificatePolicy, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given vault. + * @param certificatePolicy The policy for the certificate. + * @param options The optional parameters + * @param callback The callback + */ + updateCertificatePolicy(vaultBaseUrl: string, certificateName: string, certificatePolicy: Models.CertificatePolicy, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + updateCertificatePolicy(vaultBaseUrl: string, certificateName: string, certificatePolicy: Models.CertificatePolicy, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + certificatePolicy, + options + }, + updateCertificatePolicyOperationSpec, + callback) as Promise; + } + + /** + * The UpdateCertificate operation applies the specified update on the given certificate; the only + * elements updated are the certificate's attributes. This operation requires the + * certificates/update permission. + * @summary Updates the specified attributes associated with the given certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given key vault. + * @param certificateVersion The version of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + updateCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, options?: Models.KeyVaultClientUpdateCertificateOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given key vault. + * @param certificateVersion The version of the certificate. + * @param callback The callback + */ + updateCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given key vault. + * @param certificateVersion The version of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + updateCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, options: Models.KeyVaultClientUpdateCertificateOptionalParams, callback: msRest.ServiceCallback): void; + updateCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, options?: Models.KeyVaultClientUpdateCertificateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + certificateVersion, + options + }, + updateCertificateOperationSpec, + callback) as Promise; + } + + /** + * Gets information about a specific certificate. This operation requires the certificates/get + * permission. + * @summary Gets information about a certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given vault. + * @param certificateVersion The version of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given vault. + * @param certificateVersion The version of the certificate. + * @param callback The callback + */ + getCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate in the given vault. + * @param certificateVersion The version of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + getCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificate(vaultBaseUrl: string, certificateName: string, certificateVersion: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + certificateVersion, + options + }, + getCertificateOperationSpec, + callback) as Promise; + } + + /** + * Updates a certificate creation operation that is already in progress. This operation requires + * the certificates/update permission. + * @summary Updates a certificate operation. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param cancellationRequested Indicates if cancellation was requested on the certificate + * operation. + * @param [options] The optional parameters + * @returns Promise + */ + updateCertificateOperation(vaultBaseUrl: string, certificateName: string, cancellationRequested: boolean, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param cancellationRequested Indicates if cancellation was requested on the certificate + * operation. + * @param callback The callback + */ + updateCertificateOperation(vaultBaseUrl: string, certificateName: string, cancellationRequested: boolean, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param cancellationRequested Indicates if cancellation was requested on the certificate + * operation. + * @param options The optional parameters + * @param callback The callback + */ + updateCertificateOperation(vaultBaseUrl: string, certificateName: string, cancellationRequested: boolean, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + updateCertificateOperation(vaultBaseUrl: string, certificateName: string, cancellationRequested: boolean, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + cancellationRequested, + options + }, + updateCertificateOperationOperationSpec, + callback) as Promise; + } + + /** + * Gets the creation operation associated with a specified certificate. This operation requires the + * certificates/get permission. + * @summary Gets the creation operation of a certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificateOperation(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param callback The callback + */ + getCertificateOperation(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + getCertificateOperation(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificateOperation(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + getCertificateOperationOperationSpec, + callback) as Promise; + } + + /** + * Deletes the creation operation for a specified certificate that is in the process of being + * created. The certificate is no longer created. This operation requires the certificates/update + * permission. + * @summary Deletes the creation operation for a specific certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + deleteCertificateOperation(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param callback The callback + */ + deleteCertificateOperation(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + deleteCertificateOperation(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteCertificateOperation(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + deleteCertificateOperationOperationSpec, + callback) as Promise; + } + + /** + * The MergeCertificate operation performs the merging of a certificate or certificate chain with a + * key pair currently available in the service. This operation requires the certificates/create + * permission. + * @summary Merges a certificate or a certificate chain with a key pair existing on the server. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param x509Certificates The certificate or the certificate chain to merge. + * @param [options] The optional parameters + * @returns Promise + */ + mergeCertificate(vaultBaseUrl: string, certificateName: string, x509Certificates: Uint8Array[], options?: Models.KeyVaultClientMergeCertificateOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param x509Certificates The certificate or the certificate chain to merge. + * @param callback The callback + */ + mergeCertificate(vaultBaseUrl: string, certificateName: string, x509Certificates: Uint8Array[], callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param x509Certificates The certificate or the certificate chain to merge. + * @param options The optional parameters + * @param callback The callback + */ + mergeCertificate(vaultBaseUrl: string, certificateName: string, x509Certificates: Uint8Array[], options: Models.KeyVaultClientMergeCertificateOptionalParams, callback: msRest.ServiceCallback): void; + mergeCertificate(vaultBaseUrl: string, certificateName: string, x509Certificates: Uint8Array[], options?: Models.KeyVaultClientMergeCertificateOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + x509Certificates, + options + }, + mergeCertificateOperationSpec, + callback) as Promise; + } + + /** + * Requests that a backup of the specified certificate be downloaded to the client. All versions of + * the certificate will be downloaded. This operation requires the certificates/backup permission. + * @summary Backs up the specified certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param [options] The optional parameters + * @returns Promise + */ + backupCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param callback The callback + */ + backupCertificate(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param options The optional parameters + * @param callback The callback + */ + backupCertificate(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + backupCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + backupCertificateOperationSpec, + callback) as Promise; + } + + /** + * Restores a backed up certificate, and all its versions, to a vault. This operation requires the + * certificates/restore permission. + * @summary Restores a backed up certificate to a vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateBundleBackup The backup blob associated with a certificate bundle. + * @param [options] The optional parameters + * @returns Promise + */ + restoreCertificate(vaultBaseUrl: string, certificateBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateBundleBackup The backup blob associated with a certificate bundle. + * @param callback The callback + */ + restoreCertificate(vaultBaseUrl: string, certificateBundleBackup: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateBundleBackup The backup blob associated with a certificate bundle. + * @param options The optional parameters + * @param callback The callback + */ + restoreCertificate(vaultBaseUrl: string, certificateBundleBackup: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + restoreCertificate(vaultBaseUrl: string, certificateBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateBundleBackup, + options + }, + restoreCertificateOperationSpec, + callback) as Promise; + } + + /** + * The GetDeletedCertificates operation retrieves the certificates in the current vault which are + * in a deleted state and ready for recovery or purging. This operation includes deletion-specific + * information. This operation requires the certificates/get/list permission. This operation can + * only be enabled on soft-delete enabled vaults. + * @summary Lists the deleted certificates in the specified vault currently available for recovery. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedCertificates(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedCertificatesOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getDeletedCertificates(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedCertificates(vaultBaseUrl: string, options: Models.KeyVaultClientGetDeletedCertificatesOptionalParams, callback: msRest.ServiceCallback): void; + getDeletedCertificates(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedCertificatesOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getDeletedCertificatesOperationSpec, + callback) as Promise; + } + + /** + * The GetDeletedCertificate operation retrieves the deleted certificate information plus its + * attributes, such as retention interval, scheduled permanent deletion and the current deletion + * recovery level. This operation requires the certificates/get permission. + * @summary Retrieves information about the specified deleted certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate + * @param callback The callback + */ + getDeletedCertificate(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate + * @param options The optional parameters + * @param callback The callback + */ + getDeletedCertificate(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + getDeletedCertificateOperationSpec, + callback) as Promise; + } + + /** + * The PurgeDeletedCertificate operation performs an irreversible deletion of the specified + * certificate, without possibility for recovery. The operation is not available if the recovery + * level does not specify 'Purgeable'. This operation requires the certificate/purge permission. + * @summary Permanently deletes the specified deleted certificate. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate + * @param [options] The optional parameters + * @returns Promise + */ + purgeDeletedCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate + * @param callback The callback + */ + purgeDeletedCertificate(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate + * @param options The optional parameters + * @param callback The callback + */ + purgeDeletedCertificate(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + purgeDeletedCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + purgeDeletedCertificateOperationSpec, + callback); + } + + /** + * The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The + * operation is applicable in vaults enabled for soft-delete, and must be issued during the + * retention interval (available in the deleted certificate's attributes). This operation requires + * the certificates/recover permission. + * @summary Recovers the deleted certificate back to its current version under /certificates. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the deleted certificate + * @param [options] The optional parameters + * @returns Promise + */ + recoverDeletedCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the deleted certificate + * @param callback The callback + */ + recoverDeletedCertificate(vaultBaseUrl: string, certificateName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the deleted certificate + * @param options The optional parameters + * @param callback The callback + */ + recoverDeletedCertificate(vaultBaseUrl: string, certificateName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + recoverDeletedCertificate(vaultBaseUrl: string, certificateName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + certificateName, + options + }, + recoverDeletedCertificateOperationSpec, + callback) as Promise; + } + + /** + * List storage accounts managed by the specified key vault. This operation requires the + * storage/list permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getStorageAccounts(vaultBaseUrl: string, options?: Models.KeyVaultClientGetStorageAccountsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getStorageAccounts(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getStorageAccounts(vaultBaseUrl: string, options: Models.KeyVaultClientGetStorageAccountsOptionalParams, callback: msRest.ServiceCallback): void; + getStorageAccounts(vaultBaseUrl: string, options?: Models.KeyVaultClientGetStorageAccountsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getStorageAccountsOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted + * for a vault enabled for soft-delete. This operation requires the storage/list permission. + * @summary Lists deleted storage accounts for the specified vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedStorageAccounts(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedStorageAccountsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param callback The callback + */ + getDeletedStorageAccounts(vaultBaseUrl: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedStorageAccounts(vaultBaseUrl: string, options: Models.KeyVaultClientGetDeletedStorageAccountsOptionalParams, callback: msRest.ServiceCallback): void; + getDeletedStorageAccounts(vaultBaseUrl: string, options?: Models.KeyVaultClientGetDeletedStorageAccountsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + options + }, + getDeletedStorageAccountsOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Storage Account operation returns the specified deleted storage account along + * with its attributes. This operation requires the storage/get permission. + * @summary Gets the specified deleted storage account. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + getDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + getDeletedStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * The purge deleted storage account operation removes the secret permanently, without the + * possibility of recovery. This operation can only be performed on a soft-delete enabled vault. + * This operation requires the storage/purge permission. + * @summary Permanently deletes the specified storage account. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + purgeDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + purgeDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + purgeDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + purgeDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + purgeDeletedStorageAccountOperationSpec, + callback); + } + + /** + * Recovers the deleted storage account in the specified vault. This operation can only be + * performed on a soft-delete enabled vault. This operation requires the storage/recover + * permission. + * @summary Recovers the deleted storage account. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + recoverDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + recoverDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + recoverDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + recoverDeletedStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + recoverDeletedStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * Requests that a backup of the specified storage account be downloaded to the client. This + * operation requires the storage/backup permission. + * @summary Backs up the specified storage account. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + backupStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + backupStorageAccount(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + backupStorageAccount(vaultBaseUrl: string, storageAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + backupStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + backupStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * Restores a backed up storage account to a vault. This operation requires the storage/restore + * permission. + * @summary Restores a backed up storage account to a vault. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageBundleBackup The backup blob associated with a storage account. + * @param [options] The optional parameters + * @returns Promise + */ + restoreStorageAccount(vaultBaseUrl: string, storageBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageBundleBackup The backup blob associated with a storage account. + * @param callback The callback + */ + restoreStorageAccount(vaultBaseUrl: string, storageBundleBackup: Uint8Array, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageBundleBackup The backup blob associated with a storage account. + * @param options The optional parameters + * @param callback The callback + */ + restoreStorageAccount(vaultBaseUrl: string, storageBundleBackup: Uint8Array, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + restoreStorageAccount(vaultBaseUrl: string, storageBundleBackup: Uint8Array, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageBundleBackup, + options + }, + restoreStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * Deletes a storage account. This operation requires the storage/delete permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + deleteStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + deleteStorageAccount(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + deleteStorageAccount(vaultBaseUrl: string, storageAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + deleteStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * Gets information about a specified storage account. This operation requires the storage/get + * permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + getStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + getStorageAccount(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + getStorageAccount(vaultBaseUrl: string, storageAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + getStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a new storage account. This operation requires the storage/set permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param resourceId Storage account resource id. + * @param activeKeyName Current active storage account key name. + * @param autoRegenerateKey whether keyvault should manage the storage account for the user. + * @param [options] The optional parameters + * @returns Promise + */ + setStorageAccount(vaultBaseUrl: string, storageAccountName: string, resourceId: string, activeKeyName: string, autoRegenerateKey: boolean, options?: Models.KeyVaultClientSetStorageAccountOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param resourceId Storage account resource id. + * @param activeKeyName Current active storage account key name. + * @param autoRegenerateKey whether keyvault should manage the storage account for the user. + * @param callback The callback + */ + setStorageAccount(vaultBaseUrl: string, storageAccountName: string, resourceId: string, activeKeyName: string, autoRegenerateKey: boolean, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param resourceId Storage account resource id. + * @param activeKeyName Current active storage account key name. + * @param autoRegenerateKey whether keyvault should manage the storage account for the user. + * @param options The optional parameters + * @param callback The callback + */ + setStorageAccount(vaultBaseUrl: string, storageAccountName: string, resourceId: string, activeKeyName: string, autoRegenerateKey: boolean, options: Models.KeyVaultClientSetStorageAccountOptionalParams, callback: msRest.ServiceCallback): void; + setStorageAccount(vaultBaseUrl: string, storageAccountName: string, resourceId: string, activeKeyName: string, autoRegenerateKey: boolean, options?: Models.KeyVaultClientSetStorageAccountOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + resourceId, + activeKeyName, + autoRegenerateKey, + options + }, + setStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * Updates the specified attributes associated with the given storage account. This operation + * requires the storage/set/update permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + updateStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: Models.KeyVaultClientUpdateStorageAccountOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + updateStorageAccount(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + updateStorageAccount(vaultBaseUrl: string, storageAccountName: string, options: Models.KeyVaultClientUpdateStorageAccountOptionalParams, callback: msRest.ServiceCallback): void; + updateStorageAccount(vaultBaseUrl: string, storageAccountName: string, options?: Models.KeyVaultClientUpdateStorageAccountOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + updateStorageAccountOperationSpec, + callback) as Promise; + } + + /** + * Regenerates the specified key value for the given storage account. This operation requires the + * storage/regeneratekey permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param keyName The storage account key name. + * @param [options] The optional parameters + * @returns Promise + */ + regenerateStorageAccountKey(vaultBaseUrl: string, storageAccountName: string, keyName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param keyName The storage account key name. + * @param callback The callback + */ + regenerateStorageAccountKey(vaultBaseUrl: string, storageAccountName: string, keyName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param keyName The storage account key name. + * @param options The optional parameters + * @param callback The callback + */ + regenerateStorageAccountKey(vaultBaseUrl: string, storageAccountName: string, keyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + regenerateStorageAccountKey(vaultBaseUrl: string, storageAccountName: string, keyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + keyName, + options + }, + regenerateStorageAccountKeyOperationSpec, + callback) as Promise; + } + + /** + * List storage SAS definitions for the given storage account. This operation requires the + * storage/listsas permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + getSasDefinitions(vaultBaseUrl: string, storageAccountName: string, options?: Models.KeyVaultClientGetSasDefinitionsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + getSasDefinitions(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + getSasDefinitions(vaultBaseUrl: string, storageAccountName: string, options: Models.KeyVaultClientGetSasDefinitionsOptionalParams, callback: msRest.ServiceCallback): void; + getSasDefinitions(vaultBaseUrl: string, storageAccountName: string, options?: Models.KeyVaultClientGetSasDefinitionsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + getSasDefinitionsOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for + * a vault enabled for soft-delete. This operation requires the storage/listsas permission. + * @summary Lists deleted SAS definitions for the specified vault and storage account. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedSasDefinitions(vaultBaseUrl: string, storageAccountName: string, options?: Models.KeyVaultClientGetDeletedSasDefinitionsOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param callback The callback + */ + getDeletedSasDefinitions(vaultBaseUrl: string, storageAccountName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedSasDefinitions(vaultBaseUrl: string, storageAccountName: string, options: Models.KeyVaultClientGetDeletedSasDefinitionsOptionalParams, callback: msRest.ServiceCallback): void; + getDeletedSasDefinitions(vaultBaseUrl: string, storageAccountName: string, options?: Models.KeyVaultClientGetDeletedSasDefinitionsOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + options + }, + getDeletedSasDefinitionsOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted SAS Definition operation returns the specified deleted SAS definition along with + * its attributes. This operation requires the storage/getsas permission. + * @summary Gets the specified deleted sas definition. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param callback The callback + */ + getDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + sasDefinitionName, + options + }, + getDeletedSasDefinitionOperationSpec, + callback) as Promise; + } + + /** + * Recovers the deleted SAS definition for the specified storage account. This operation can only + * be performed on a soft-delete enabled vault. This operation requires the storage/recover + * permission. + * @summary Recovers the deleted SAS definition. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param [options] The optional parameters + * @returns Promise + */ + recoverDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param callback The callback + */ + recoverDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param options The optional parameters + * @param callback The callback + */ + recoverDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + recoverDeletedSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + sasDefinitionName, + options + }, + recoverDeletedSasDefinitionOperationSpec, + callback) as Promise; + } + + /** + * Deletes a SAS definition from a specified storage account. This operation requires the + * storage/deletesas permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param [options] The optional parameters + * @returns Promise + */ + deleteSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param callback The callback + */ + deleteSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param options The optional parameters + * @param callback The callback + */ + deleteSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + sasDefinitionName, + options + }, + deleteSasDefinitionOperationSpec, + callback) as Promise; + } + + /** + * Gets information about a SAS definition for the specified storage account. This operation + * requires the storage/getsas permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param [options] The optional parameters + * @returns Promise + */ + getSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param callback The callback + */ + getSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param options The optional parameters + * @param callback The callback + */ + getSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + sasDefinitionName, + options + }, + getSasDefinitionOperationSpec, + callback) as Promise; + } + + /** + * Creates or updates a new SAS definition for the specified storage account. This operation + * requires the storage/setsas permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param templateUri The SAS definition token template signed with an arbitrary key. Tokens + * created according to the SAS definition will have the same properties as the template. + * @param sasType The type of SAS token the SAS definition will create. Possible values include: + * 'account', 'service' + * @param validityPeriod The validity period of SAS tokens created according to the SAS definition. + * @param [options] The optional parameters + * @returns Promise + */ + setSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, templateUri: string, sasType: Models.SasTokenType, validityPeriod: string, options?: Models.KeyVaultClientSetSasDefinitionOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param templateUri The SAS definition token template signed with an arbitrary key. Tokens + * created according to the SAS definition will have the same properties as the template. + * @param sasType The type of SAS token the SAS definition will create. Possible values include: + * 'account', 'service' + * @param validityPeriod The validity period of SAS tokens created according to the SAS definition. + * @param callback The callback + */ + setSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, templateUri: string, sasType: Models.SasTokenType, validityPeriod: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param templateUri The SAS definition token template signed with an arbitrary key. Tokens + * created according to the SAS definition will have the same properties as the template. + * @param sasType The type of SAS token the SAS definition will create. Possible values include: + * 'account', 'service' + * @param validityPeriod The validity period of SAS tokens created according to the SAS definition. + * @param options The optional parameters + * @param callback The callback + */ + setSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, templateUri: string, sasType: Models.SasTokenType, validityPeriod: string, options: Models.KeyVaultClientSetSasDefinitionOptionalParams, callback: msRest.ServiceCallback): void; + setSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, templateUri: string, sasType: Models.SasTokenType, validityPeriod: string, options?: Models.KeyVaultClientSetSasDefinitionOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + sasDefinitionName, + templateUri, + sasType, + validityPeriod, + options + }, + setSasDefinitionOperationSpec, + callback) as Promise; + } + + /** + * Updates the specified attributes associated with the given SAS definition. This operation + * requires the storage/setsas permission. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param [options] The optional parameters + * @returns Promise + */ + updateSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: Models.KeyVaultClientUpdateSasDefinitionOptionalParams): Promise; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param callback The callback + */ + updateSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, callback: msRest.ServiceCallback): void; + /** + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param sasDefinitionName The name of the SAS definition. + * @param options The optional parameters + * @param callback The callback + */ + updateSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options: Models.KeyVaultClientUpdateSasDefinitionOptionalParams, callback: msRest.ServiceCallback): void; + updateSasDefinition(vaultBaseUrl: string, storageAccountName: string, sasDefinitionName: string, options?: Models.KeyVaultClientUpdateSasDefinitionOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + vaultBaseUrl, + storageAccountName, + sasDefinitionName, + options + }, + updateSasDefinitionOperationSpec, + callback) as Promise; + } + + /** + * The full key identifier, attributes, and tags are provided in the response. This operation + * requires the keys/list permission. + * @summary Retrieves a list of individual key versions with the same key name. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getKeyVersionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getKeyVersionsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getKeyVersionsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getKeyVersionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getKeyVersionsNextOperationSpec, + callback) as Promise; + } + + /** + * Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public + * part of a stored key. The LIST operation is applicable to all key types, however only the base + * key identifier, attributes, and tags are provided in the response. Individual versions of a key + * are not listed in the response. This operation requires the keys/list permission. + * @summary List keys in the specified vault. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getKeysNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getKeysNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getKeysNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getKeysNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getKeysNextOperationSpec, + callback) as Promise; + } + + /** + * Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public + * part of a deleted key. This operation includes deletion-specific information. The Get Deleted + * Keys operation is applicable for vaults enabled for soft-delete. While the operation can be + * invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. + * This operation requires the keys/list permission. + * @summary Lists the deleted keys in the specified vault. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedKeysNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getDeletedKeysNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedKeysNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedKeysNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getDeletedKeysNextOperationSpec, + callback) as Promise; + } + + /** + * The Get Secrets operation is applicable to the entire vault. However, only the base secret + * identifier and its attributes are provided in the response. Individual secret versions are not + * listed in the response. This operation requires the secrets/list permission. + * @summary List secrets in a specified key vault. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getSecretsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getSecretsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getSecretsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getSecretsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getSecretsNextOperationSpec, + callback) as Promise; + } + + /** + * The full secret identifier and attributes are provided in the response. No values are returned + * for the secrets. This operations requires the secrets/list permission. + * @summary List all versions of the specified secret. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getSecretVersionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getSecretVersionsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getSecretVersionsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getSecretVersionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getSecretVersionsNextOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled + * for soft-delete. This operation requires the secrets/list permission. + * @summary Lists deleted secrets for the specified vault. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedSecretsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getDeletedSecretsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedSecretsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedSecretsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getDeletedSecretsNextOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificates operation returns the set of certificates resources in the specified key + * vault. This operation requires the certificates/list permission. + * @summary List certificates in a specified key vault + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificatesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getCertificatesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getCertificatesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificatesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getCertificatesNextOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificateIssuers operation returns the set of certificate issuer resources in the + * specified key vault. This operation requires the certificates/manageissuers/getissuers + * permission. + * @summary List certificate issuers for a specified key vault. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificateIssuersNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getCertificateIssuersNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getCertificateIssuersNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificateIssuersNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getCertificateIssuersNextOperationSpec, + callback) as Promise; + } + + /** + * The GetCertificateVersions operation returns the versions of a certificate in the specified key + * vault. This operation requires the certificates/list permission. + * @summary List the versions of a certificate. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getCertificateVersionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getCertificateVersionsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getCertificateVersionsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getCertificateVersionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getCertificateVersionsNextOperationSpec, + callback) as Promise; + } + + /** + * The GetDeletedCertificates operation retrieves the certificates in the current vault which are + * in a deleted state and ready for recovery or purging. This operation includes deletion-specific + * information. This operation requires the certificates/get/list permission. This operation can + * only be enabled on soft-delete enabled vaults. + * @summary Lists the deleted certificates in the specified vault currently available for recovery. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedCertificatesNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getDeletedCertificatesNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedCertificatesNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedCertificatesNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getDeletedCertificatesNextOperationSpec, + callback) as Promise; + } + + /** + * List storage accounts managed by the specified key vault. This operation requires the + * storage/list permission. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getStorageAccountsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getStorageAccountsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getStorageAccountsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getStorageAccountsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getStorageAccountsNextOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted + * for a vault enabled for soft-delete. This operation requires the storage/list permission. + * @summary Lists deleted storage accounts for the specified vault. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedStorageAccountsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getDeletedStorageAccountsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedStorageAccountsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedStorageAccountsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getDeletedStorageAccountsNextOperationSpec, + callback) as Promise; + } + + /** + * List storage SAS definitions for the given storage account. This operation requires the + * storage/listsas permission. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getSasDefinitionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getSasDefinitionsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getSasDefinitionsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getSasDefinitionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getSasDefinitionsNextOperationSpec, + callback) as Promise; + } + + /** + * The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for + * a vault enabled for soft-delete. This operation requires the storage/listsas permission. + * @summary Lists deleted SAS definitions for the specified vault and storage account. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + getDeletedSasDefinitionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + getDeletedSasDefinitionsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + getDeletedSasDefinitionsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getDeletedSasDefinitionsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + getDeletedSasDefinitionsNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const createKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/create", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + kty: "kty", + keySize: [ + "options", + "keySize" + ], + keyOps: [ + "options", + "keyOps" + ], + keyAttributes: [ + "options", + "keyAttributes" + ], + tags: [ + "options", + "tags" + ], + curve: [ + "options", + "curve" + ] + }, + mapper: { + ...Mappers.KeyCreateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const importKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "keys/{key-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + hsm: [ + "options", + "hsm" + ], + key: "key", + keyAttributes: [ + "options", + "keyAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.KeyImportParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "keys/{key-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedKeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "keys/{key-name}/{key-version}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + keyOps: [ + "options", + "keyOps" + ], + keyAttributes: [ + "options", + "keyAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.KeyUpdateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "keys/{key-name}/{key-version}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.KeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getKeyVersionsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "keys/{key-name}/versions", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1 + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getKeysOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "keys", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const backupKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/backup", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.BackupKeyResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const restoreKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/restore", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + keyBundleBackup: "keyBundleBackup" + }, + mapper: { + ...Mappers.KeyRestoreParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const encryptOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/{key-version}/encrypt", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + algorithm: "algorithm", + value: "value" + }, + mapper: { + ...Mappers.KeyOperationsParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyOperationResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const decryptOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/{key-version}/decrypt", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + algorithm: "algorithm", + value: "value" + }, + mapper: { + ...Mappers.KeyOperationsParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyOperationResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const signOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/{key-version}/sign", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + algorithm: "algorithm", + value: "value" + }, + mapper: { + ...Mappers.KeySignParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyOperationResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const verifyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/{key-version}/verify", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + algorithm: "algorithm", + digest: "digest", + signature: "signature" + }, + mapper: { + ...Mappers.KeyVerifyParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyVerifyResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const wrapKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/{key-version}/wrapkey", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + algorithm: "algorithm", + value: "value" + }, + mapper: { + ...Mappers.KeyOperationsParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyOperationResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const unwrapKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "keys/{key-name}/{key-version}/unwrapkey", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1, + Parameters.keyVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + algorithm: "algorithm", + value: "value" + }, + mapper: { + ...Mappers.KeyOperationsParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.KeyOperationResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedKeysOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedkeys", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedKeyListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedkeys/{key-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedKeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const purgeDeletedKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "deletedkeys/{key-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 204: {}, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const recoverDeletedKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "deletedkeys/{key-name}/recover", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.keyName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.KeyBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const setSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "secrets/{secret-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + value: "value", + tags: [ + "options", + "tags" + ], + contentType: [ + "options", + "contentType" + ], + secretAttributes: [ + "options", + "secretAttributes" + ] + }, + mapper: { + ...Mappers.SecretSetParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.SecretBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "secrets/{secret-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSecretBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "secrets/{secret-name}/{secret-version}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1, + Parameters.secretVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + contentType: [ + "options", + "contentType" + ], + secretAttributes: [ + "options", + "secretAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.SecretUpdateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.SecretBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "secrets/{secret-name}/{secret-version}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1, + Parameters.secretVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSecretsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "secrets", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSecretVersionsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "secrets/{secret-name}/versions", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1 + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedSecretsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedsecrets", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSecretListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedsecrets/{secret-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSecretBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const purgeDeletedSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "deletedsecrets/{secret-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 204: {}, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const recoverDeletedSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "deletedsecrets/{secret-name}/recover", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const backupSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "secrets/{secret-name}/backup", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.secretName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.BackupSecretResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const restoreSecretOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "secrets/restore", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + secretBundleBackup: "secretBundleBackup" + }, + mapper: { + ...Mappers.SecretRestoreParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.SecretBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificatesOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.includePending, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "certificates/{certificate-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedCertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const setCertificateContactsOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "certificates/contacts", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "contacts", + mapper: { + ...Mappers.Contacts, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Contacts + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateContactsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates/contacts", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Contacts + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteCertificateContactsOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "certificates/contacts", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Contacts + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateIssuersOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates/issuers", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateIssuerListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const setCertificateIssuerOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "certificates/issuers/{issuer-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.issuerName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + provider: "provider", + credentials: [ + "options", + "credentials" + ], + organizationDetails: [ + "options", + "organizationDetails" + ], + attributes: [ + "options", + "attributes" + ] + }, + mapper: { + ...Mappers.CertificateIssuerSetParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.IssuerBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateCertificateIssuerOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "certificates/issuers/{issuer-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.issuerName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + provider: [ + "options", + "provider" + ], + credentials: [ + "options", + "credentials" + ], + organizationDetails: [ + "options", + "organizationDetails" + ], + attributes: [ + "options", + "attributes" + ] + }, + mapper: { + ...Mappers.CertificateIssuerUpdateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.IssuerBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateIssuerOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates/issuers/{issuer-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.issuerName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.IssuerBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteCertificateIssuerOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "certificates/issuers/{issuer-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.issuerName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.IssuerBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const createCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "certificates/{certificate-name}/create", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + certificatePolicy: [ + "options", + "certificatePolicy" + ], + certificateAttributes: [ + "options", + "certificateAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.CertificateCreateParameters, + required: true + } + }, + responses: { + 202: { + bodyMapper: Mappers.CertificateOperation + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const importCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "certificates/{certificate-name}/import", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + base64EncodedCertificate: "base64EncodedCertificate", + password: [ + "options", + "password" + ], + certificatePolicy: [ + "options", + "certificatePolicy" + ], + certificateAttributes: [ + "options", + "certificateAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.CertificateImportParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateVersionsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates/{certificate-name}/versions", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificatePolicyOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates/{certificate-name}/policy", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificatePolicy + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateCertificatePolicyOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "certificates/{certificate-name}/policy", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "certificatePolicy", + mapper: { + ...Mappers.CertificatePolicy, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CertificatePolicy + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "certificates/{certificate-name}/{certificate-version}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0, + Parameters.certificateVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + certificatePolicy: [ + "options", + "certificatePolicy" + ], + certificateAttributes: [ + "options", + "certificateAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.CertificateUpdateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates/{certificate-name}/{certificate-version}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0, + Parameters.certificateVersion + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateCertificateOperationOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "certificates/{certificate-name}/pending", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + cancellationRequested: "cancellationRequested" + }, + mapper: { + ...Mappers.CertificateOperationUpdateParameter, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CertificateOperation + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateOperationOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "certificates/{certificate-name}/pending", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateOperation + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteCertificateOperationOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "certificates/{certificate-name}/pending", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateOperation + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const mergeCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "certificates/{certificate-name}/pending/merge", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + x509Certificates: "x509Certificates", + certificateAttributes: [ + "options", + "certificateAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.CertificateMergeParameters, + required: true + } + }, + responses: { + 201: { + bodyMapper: Mappers.CertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const backupCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "certificates/{certificate-name}/backup", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.BackupCertificateResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const restoreCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "certificates/restore", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + certificateBundleBackup: "certificateBundleBackup" + }, + mapper: { + ...Mappers.CertificateRestoreParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedCertificatesOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedcertificates", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.includePending, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedCertificateListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedcertificates/{certificate-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedCertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const purgeDeletedCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "deletedcertificates/{certificate-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 204: {}, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const recoverDeletedCertificateOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "deletedcertificates/{certificate-name}/recover", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.certificateName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getStorageAccountsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "storage", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.StorageListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedStorageAccountsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedstorage", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedStorageListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedstorage/{storage-account-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedStorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const purgeDeletedStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "deletedstorage/{storage-account-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 204: {}, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const recoverDeletedStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "deletedstorage/{storage-account-name}/recover", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.StorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const backupStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "storage/{storage-account-name}/backup", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName1 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.BackupStorageResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const restoreStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "storage/restore", + urlParameters: [ + Parameters.vaultBaseUrl + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + storageBundleBackup: "storageBundleBackup" + }, + mapper: { + ...Mappers.StorageRestoreParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.StorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "storage/{storage-account-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedStorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "storage/{storage-account-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.StorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const setStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "storage/{storage-account-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + resourceId: "resourceId", + activeKeyName: "activeKeyName", + autoRegenerateKey: "autoRegenerateKey", + regenerationPeriod: [ + "options", + "regenerationPeriod" + ], + storageAccountAttributes: [ + "options", + "storageAccountAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.StorageAccountCreateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.StorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateStorageAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "storage/{storage-account-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + activeKeyName: [ + "options", + "activeKeyName" + ], + autoRegenerateKey: [ + "options", + "autoRegenerateKey" + ], + regenerationPeriod: [ + "options", + "regenerationPeriod" + ], + storageAccountAttributes: [ + "options", + "storageAccountAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.StorageAccountUpdateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.StorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const regenerateStorageAccountKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "storage/{storage-account-name}/regeneratekey", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + keyName: "keyName" + }, + mapper: { + ...Mappers.StorageAccountRegenerteKeyParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.StorageBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSasDefinitionsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "storage/{storage-account-name}/sas", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SasDefinitionListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedSasDefinitionsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedstorage/{storage-account-name}/sas", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0 + ], + queryParameters: [ + Parameters.maxresults, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSasDefinitionListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedSasDefinitionOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "deletedstorage/{storage-account-name}/sas/{sas-definition-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0, + Parameters.sasDefinitionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSasDefinitionBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const recoverDeletedSasDefinitionOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0, + Parameters.sasDefinitionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SasDefinitionBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const deleteSasDefinitionOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "storage/{storage-account-name}/sas/{sas-definition-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0, + Parameters.sasDefinitionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSasDefinitionBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSasDefinitionOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "storage/{storage-account-name}/sas/{sas-definition-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0, + Parameters.sasDefinitionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SasDefinitionBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const setSasDefinitionOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "storage/{storage-account-name}/sas/{sas-definition-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0, + Parameters.sasDefinitionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + templateUri: "templateUri", + sasType: "sasType", + validityPeriod: "validityPeriod", + sasDefinitionAttributes: [ + "options", + "sasDefinitionAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.SasDefinitionCreateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.SasDefinitionBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const updateSasDefinitionOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "storage/{storage-account-name}/sas/{sas-definition-name}", + urlParameters: [ + Parameters.vaultBaseUrl, + Parameters.storageAccountName0, + Parameters.sasDefinitionName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: { + templateUri: [ + "options", + "templateUri" + ], + sasType: [ + "options", + "sasType" + ], + validityPeriod: [ + "options", + "validityPeriod" + ], + sasDefinitionAttributes: [ + "options", + "sasDefinitionAttributes" + ], + tags: [ + "options", + "tags" + ] + }, + mapper: { + ...Mappers.SasDefinitionUpdateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.SasDefinitionBundle + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getKeyVersionsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getKeysNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.KeyListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedKeysNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedKeyListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSecretsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSecretVersionsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedSecretsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSecretListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificatesNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateIssuersNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateIssuerListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getCertificateVersionsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CertificateListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedCertificatesNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedCertificateListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getStorageAccountsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.StorageListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedStorageAccountsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedStorageListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getSasDefinitionsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SasDefinitionListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +const getDeletedSasDefinitionsNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "{vaultBaseUrl}", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DeletedSasDefinitionListResult + }, + default: { + bodyMapper: Mappers.KeyVaultError + } + }, + serializer +}; + +export { + KeyVaultClient, + KeyVaultClientContext, + Models as KeyVaultModels, + Mappers as KeyVaultMappers +}; diff --git a/packages/@azure/keyvault/lib/keyVaultClientContext.ts b/packages/@azure/keyvault/lib/keyVaultClientContext.ts new file mode 100644 index 000000000000..9f84cabf70ce --- /dev/null +++ b/packages/@azure/keyvault/lib/keyVaultClientContext.ts @@ -0,0 +1,55 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; + +const packageName = "@azure/keyvault"; +const packageVersion = "0.1.0"; + +export class KeyVaultClientContext extends msRestAzure.AzureServiceClient { + credentials: msRest.ServiceClientCredentials; + apiVersion?: string; + + /** + * Initializes a new instance of the KeyVaultClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, options?: msRestAzure.AzureServiceClientOptions) { + if (credentials == undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + + if (!options) { + options = {}; + } + if(!options.userAgent) { + const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); + options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; + } + + super(credentials, options); + + this.apiVersion = '7.0'; + this.acceptLanguage = 'en-US'; + this.longRunningOperationRetryTimeout = 30; + this.baseUri = '{vaultBaseUrl}'; + this.requestContentType = "application/json; charset=utf-8"; + this.credentials = credentials; + + if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + this.acceptLanguage = options.acceptLanguage; + } + if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; + } + } +} diff --git a/packages/@azure/keyvault/lib/models/index.ts b/packages/@azure/keyvault/lib/models/index.ts new file mode 100644 index 000000000000..35f872ec3c50 --- /dev/null +++ b/packages/@azure/keyvault/lib/models/index.ts @@ -0,0 +1,4716 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import { BaseResource, CloudError } from "@azure/ms-rest-azure-js"; +import * as msRest from "@azure/ms-rest-js"; + +export { BaseResource, CloudError }; + + +/** + * @interface + * An interface representing Attributes. + * The object attributes managed by the KeyVault service. + * + */ +export interface Attributes { + /** + * @member {boolean} [enabled] Determines whether the object is enabled. + */ + enabled?: boolean; + /** + * @member {Date} [notBefore] Not before date in UTC. + */ + notBefore?: Date; + /** + * @member {Date} [expires] Expiry date in UTC. + */ + expires?: Date; + /** + * @member {Date} [created] Creation time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly created?: Date; + /** + * @member {Date} [updated] Last updated time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly updated?: Date; +} + +/** + * @interface + * An interface representing JsonWebKey. + * As of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 + * + */ +export interface JsonWebKey { + /** + * @member {string} [kid] Key identifier. + */ + kid?: string; + /** + * @member {JsonWebKeyType} [kty] JsonWebKey Key Type (kty), as defined in + * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. + * Possible values include: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct' + */ + kty?: JsonWebKeyType; + /** + * @member {string[]} [keyOps] + */ + keyOps?: string[]; + /** + * @member {Uint8Array} [n] RSA modulus. + */ + n?: Uint8Array; + /** + * @member {Uint8Array} [e] RSA public exponent. + */ + e?: Uint8Array; + /** + * @member {Uint8Array} [d] RSA private exponent, or the D component of an EC + * private key. + */ + d?: Uint8Array; + /** + * @member {Uint8Array} [dp] RSA private key parameter. + */ + dp?: Uint8Array; + /** + * @member {Uint8Array} [dq] RSA private key parameter. + */ + dq?: Uint8Array; + /** + * @member {Uint8Array} [qi] RSA private key parameter. + */ + qi?: Uint8Array; + /** + * @member {Uint8Array} [p] RSA secret prime. + */ + p?: Uint8Array; + /** + * @member {Uint8Array} [q] RSA secret prime, with p < q. + */ + q?: Uint8Array; + /** + * @member {Uint8Array} [k] Symmetric key. + */ + k?: Uint8Array; + /** + * @member {Uint8Array} [t] HSM Token, used with 'Bring Your Own Key'. + */ + t?: Uint8Array; + /** + * @member {JsonWebKeyCurveName} [crv] Elliptic curve name. For valid values, + * see JsonWebKeyCurveName. Possible values include: 'P-256', 'P-384', + * 'P-521', 'P-256K' + */ + crv?: JsonWebKeyCurveName; + /** + * @member {Uint8Array} [x] X component of an EC public key. + */ + x?: Uint8Array; + /** + * @member {Uint8Array} [y] Y component of an EC public key. + */ + y?: Uint8Array; +} + +/** + * @interface + * An interface representing KeyAttributes. + * The attributes of a key managed by the key vault service. + * + * @extends Attributes + */ +export interface KeyAttributes extends Attributes { + /** + * @member {DeletionRecoveryLevel} [recoveryLevel] Reflects the deletion + * recovery level currently in effect for keys in the current vault. If it + * contains 'Purgeable' the key can be permanently deleted by a privileged + * user; otherwise, only the system can purge the key, at the end of the + * retention interval. Possible values include: 'Purgeable', + * 'Recoverable+Purgeable', 'Recoverable', + * 'Recoverable+ProtectedSubscription' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly recoveryLevel?: DeletionRecoveryLevel; +} + +/** + * @interface + * An interface representing KeyBundle. + * A KeyBundle consisting of a WebKey plus its attributes. + * + */ +export interface KeyBundle { + /** + * @member {JsonWebKey} [key] The Json web key. + */ + key?: JsonWebKey; + /** + * @member {KeyAttributes} [attributes] The key management attributes. + */ + attributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {boolean} [managed] True if the key's lifetime is managed by key + * vault. If this is a key backing a certificate, then managed will be true. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly managed?: boolean; +} + +/** + * @interface + * An interface representing KeyItem. + * The key item containing key metadata. + * + */ +export interface KeyItem { + /** + * @member {string} [kid] Key identifier. + */ + kid?: string; + /** + * @member {KeyAttributes} [attributes] The key management attributes. + */ + attributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {boolean} [managed] True if the key's lifetime is managed by key + * vault. If this is a key backing a certificate, then managed will be true. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly managed?: boolean; +} + +/** + * @interface + * An interface representing DeletedKeyBundle. + * A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion + * info + * + * @extends KeyBundle + */ +export interface DeletedKeyBundle extends KeyBundle { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted key. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the key is scheduled to + * be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the key was deleted, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing DeletedKeyItem. + * The deleted key item containing the deleted key metadata and information + * about deletion. + * + * @extends KeyItem + */ +export interface DeletedKeyItem extends KeyItem { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted key. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the key is scheduled to + * be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the key was deleted, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing SecretAttributes. + * The secret management attributes. + * + * @extends Attributes + */ +export interface SecretAttributes extends Attributes { + /** + * @member {DeletionRecoveryLevel} [recoveryLevel] Reflects the deletion + * recovery level currently in effect for secrets in the current vault. If it + * contains 'Purgeable', the secret can be permanently deleted by a + * privileged user; otherwise, only the system can purge the secret, at the + * end of the retention interval. Possible values include: 'Purgeable', + * 'Recoverable+Purgeable', 'Recoverable', + * 'Recoverable+ProtectedSubscription' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly recoveryLevel?: DeletionRecoveryLevel; +} + +/** + * @interface + * An interface representing SecretBundle. + * A secret consisting of a value, id and its attributes. + * + */ +export interface SecretBundle { + /** + * @member {string} [value] The secret value. + */ + value?: string; + /** + * @member {string} [id] The secret id. + */ + id?: string; + /** + * @member {string} [contentType] The content type of the secret. + */ + contentType?: string; + /** + * @member {SecretAttributes} [attributes] The secret management attributes. + */ + attributes?: SecretAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {string} [kid] If this is a secret backing a KV certificate, then + * this field specifies the corresponding key backing the KV certificate. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly kid?: string; + /** + * @member {boolean} [managed] True if the secret's lifetime is managed by + * key vault. If this is a secret backing a certificate, then managed will be + * true. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly managed?: boolean; +} + +/** + * @interface + * An interface representing SecretItem. + * The secret item containing secret metadata. + * + */ +export interface SecretItem { + /** + * @member {string} [id] Secret identifier. + */ + id?: string; + /** + * @member {SecretAttributes} [attributes] The secret management attributes. + */ + attributes?: SecretAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {string} [contentType] Type of the secret value such as a + * password. + */ + contentType?: string; + /** + * @member {boolean} [managed] True if the secret's lifetime is managed by + * key vault. If this is a key backing a certificate, then managed will be + * true. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly managed?: boolean; +} + +/** + * @interface + * An interface representing DeletedSecretBundle. + * A Deleted Secret consisting of its previous id, attributes and its tags, as + * well as information on when it will be purged. + * + * @extends SecretBundle + */ +export interface DeletedSecretBundle extends SecretBundle { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted secret. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the secret is scheduled + * to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the secret was deleted, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing DeletedSecretItem. + * The deleted secret item containing metadata about the deleted secret. + * + * @extends SecretItem + */ +export interface DeletedSecretItem extends SecretItem { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted secret. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the secret is scheduled + * to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the secret was deleted, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing SecretRestoreParameters. + * The secret restore parameters. + * + */ +export interface SecretRestoreParameters { + /** + * @member {Uint8Array} secretBundleBackup The backup blob associated with a + * secret bundle. + */ + secretBundleBackup: Uint8Array; +} + +/** + * @interface + * An interface representing StorageRestoreParameters. + * The secret restore parameters. + * + */ +export interface StorageRestoreParameters { + /** + * @member {Uint8Array} storageBundleBackup The backup blob associated with a + * storage account. + */ + storageBundleBackup: Uint8Array; +} + +/** + * @interface + * An interface representing CertificateAttributes. + * The certificate management attributes. + * + * @extends Attributes + */ +export interface CertificateAttributes extends Attributes { + /** + * @member {DeletionRecoveryLevel} [recoveryLevel] Reflects the deletion + * recovery level currently in effect for certificates in the current vault. + * If it contains 'Purgeable', the certificate can be permanently deleted by + * a privileged user; otherwise, only the system can purge the certificate, + * at the end of the retention interval. Possible values include: + * 'Purgeable', 'Recoverable+Purgeable', 'Recoverable', + * 'Recoverable+ProtectedSubscription' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly recoveryLevel?: DeletionRecoveryLevel; +} + +/** + * @interface + * An interface representing CertificateItem. + * The certificate item containing certificate metadata. + * + */ +export interface CertificateItem { + /** + * @member {string} [id] Certificate identifier. + */ + id?: string; + /** + * @member {CertificateAttributes} [attributes] The certificate management + * attributes. + */ + attributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {Uint8Array} [x509Thumbprint] Thumbprint of the certificate. + */ + x509Thumbprint?: Uint8Array; +} + +/** + * @interface + * An interface representing CertificateIssuerItem. + * The certificate issuer item containing certificate issuer metadata. + * + */ +export interface CertificateIssuerItem { + /** + * @member {string} [id] Certificate Identifier. + */ + id?: string; + /** + * @member {string} [provider] The issuer provider. + */ + provider?: string; +} + +/** + * @interface + * An interface representing KeyProperties. + * Properties of the key pair backing a certificate. + * + */ +export interface KeyProperties { + /** + * @member {boolean} [exportable] Indicates if the private key can be + * exported. + */ + exportable?: boolean; + /** + * @member {JsonWebKeyType} [keyType] The type of key pair to be used for the + * certificate. Possible values include: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', + * 'oct' + */ + keyType?: JsonWebKeyType; + /** + * @member {number} [keySize] The key size in bits. For example: 2048, 3072, + * or 4096 for RSA. + */ + keySize?: number; + /** + * @member {boolean} [reuseKey] Indicates if the same key pair will be used + * on certificate renewal. + */ + reuseKey?: boolean; + /** + * @member {JsonWebKeyCurveName} [curve] Elliptic curve name. For valid + * values, see JsonWebKeyCurveName. Possible values include: 'P-256', + * 'P-384', 'P-521', 'P-256K' + */ + curve?: JsonWebKeyCurveName; +} + +/** + * @interface + * An interface representing SecretProperties. + * Properties of the key backing a certificate. + * + */ +export interface SecretProperties { + /** + * @member {string} [contentType] The media type (MIME type). + */ + contentType?: string; +} + +/** + * @interface + * An interface representing SubjectAlternativeNames. + * The subject alternate names of a X509 object. + * + */ +export interface SubjectAlternativeNames { + /** + * @member {string[]} [emails] Email addresses. + */ + emails?: string[]; + /** + * @member {string[]} [dnsNames] Domain names. + */ + dnsNames?: string[]; + /** + * @member {string[]} [upns] User principal names. + */ + upns?: string[]; +} + +/** + * @interface + * An interface representing X509CertificateProperties. + * Properties of the X509 component of a certificate. + * + */ +export interface X509CertificateProperties { + /** + * @member {string} [subject] The subject name. Should be a valid X509 + * distinguished Name. + */ + subject?: string; + /** + * @member {string[]} [ekus] The enhanced key usage. + */ + ekus?: string[]; + /** + * @member {SubjectAlternativeNames} [subjectAlternativeNames] The subject + * alternative names. + */ + subjectAlternativeNames?: SubjectAlternativeNames; + /** + * @member {KeyUsageType[]} [keyUsage] List of key usages. + */ + keyUsage?: KeyUsageType[]; + /** + * @member {number} [validityInMonths] The duration that the certificate is + * valid in months. + */ + validityInMonths?: number; +} + +/** + * @interface + * An interface representing Trigger. + * A condition to be satisfied for an action to be executed. + * + */ +export interface Trigger { + /** + * @member {number} [lifetimePercentage] Percentage of lifetime at which to + * trigger. Value should be between 1 and 99. + */ + lifetimePercentage?: number; + /** + * @member {number} [daysBeforeExpiry] Days before expiry to attempt renewal. + * Value should be between 1 and validity_in_months multiplied by 27. If + * validity_in_months is 36, then value should be between 1 and 972 (36 * + * 27). + */ + daysBeforeExpiry?: number; +} + +/** + * @interface + * An interface representing Action. + * The action that will be executed. + * + */ +export interface Action { + /** + * @member {ActionType} [actionType] The type of the action. Possible values + * include: 'EmailContacts', 'AutoRenew' + */ + actionType?: ActionType; +} + +/** + * @interface + * An interface representing LifetimeAction. + * Action and its trigger that will be performed by Key Vault over the lifetime + * of a certificate. + * + */ +export interface LifetimeAction { + /** + * @member {Trigger} [trigger] The condition that will execute the action. + */ + trigger?: Trigger; + /** + * @member {Action} [action] The action that will be executed. + */ + action?: Action; +} + +/** + * @interface + * An interface representing IssuerParameters. + * Parameters for the issuer of the X509 component of a certificate. + * + */ +export interface IssuerParameters { + /** + * @member {string} [name] Name of the referenced issuer object or reserved + * names; for example, 'Self' or 'Unknown'. + */ + name?: string; + /** + * @member {string} [certificateType] Type of certificate to be requested + * from the issuer provider. + */ + certificateType?: string; + /** + * @member {boolean} [certificateTransparency] Indicates if the certificates + * generated under this policy should be published to certificate + * transparency logs. + */ + certificateTransparency?: boolean; +} + +/** + * @interface + * An interface representing CertificatePolicy. + * Management policy for a certificate. + * + */ +export interface CertificatePolicy { + /** + * @member {string} [id] The certificate id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {KeyProperties} [keyProperties] Properties of the key backing a + * certificate. + */ + keyProperties?: KeyProperties; + /** + * @member {SecretProperties} [secretProperties] Properties of the secret + * backing a certificate. + */ + secretProperties?: SecretProperties; + /** + * @member {X509CertificateProperties} [x509CertificateProperties] Properties + * of the X509 component of a certificate. + */ + x509CertificateProperties?: X509CertificateProperties; + /** + * @member {LifetimeAction[]} [lifetimeActions] Actions that will be + * performed by Key Vault over the lifetime of a certificate. + */ + lifetimeActions?: LifetimeAction[]; + /** + * @member {IssuerParameters} [issuerParameters] Parameters for the issuer of + * the X509 component of a certificate. + */ + issuerParameters?: IssuerParameters; + /** + * @member {CertificateAttributes} [attributes] The certificate attributes. + */ + attributes?: CertificateAttributes; +} + +/** + * @interface + * An interface representing CertificateBundle. + * A certificate bundle consists of a certificate (X509) plus its attributes. + * + */ +export interface CertificateBundle { + /** + * @member {string} [id] The certificate id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {string} [kid] The key id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly kid?: string; + /** + * @member {string} [sid] The secret id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly sid?: string; + /** + * @member {Uint8Array} [x509Thumbprint] Thumbprint of the certificate. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly x509Thumbprint?: Uint8Array; + /** + * @member {CertificatePolicy} [policy] The management policy. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly policy?: CertificatePolicy; + /** + * @member {Uint8Array} [cer] CER contents of x509 certificate. + */ + cer?: Uint8Array; + /** + * @member {string} [contentType] The content type of the secret. + */ + contentType?: string; + /** + * @member {CertificateAttributes} [attributes] The certificate attributes. + */ + attributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing DeletedCertificateBundle. + * A Deleted Certificate consisting of its previous id, attributes and its + * tags, as well as information on when it will be purged. + * + * @extends CertificateBundle + */ +export interface DeletedCertificateBundle extends CertificateBundle { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted certificate. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the certificate is + * scheduled to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the certificate was deleted, in + * UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing DeletedCertificateItem. + * The deleted certificate item containing metadata about the deleted + * certificate. + * + * @extends CertificateItem + */ +export interface DeletedCertificateItem extends CertificateItem { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted certificate. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the certificate is + * scheduled to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the certificate was deleted, in + * UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing ErrorModel. + * The key vault server error. + * + */ +export interface ErrorModel { + /** + * @member {string} [code] The error code. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly code?: string; + /** + * @member {string} [message] The error message. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly message?: string; + /** + * @member {ErrorModel} [innerError] **NOTE: This property will not be + * serialized. It can only be populated by the server.** + */ + readonly innerError?: ErrorModel; +} + +/** + * @interface + * An interface representing CertificateOperation. + * A certificate operation is returned in case of asynchronous requests. + * + */ +export interface CertificateOperation { + /** + * @member {string} [id] The certificate id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {IssuerParameters} [issuerParameters] Parameters for the issuer of + * the X509 component of a certificate. + */ + issuerParameters?: IssuerParameters; + /** + * @member {Uint8Array} [csr] The certificate signing request (CSR) that is + * being used in the certificate operation. + */ + csr?: Uint8Array; + /** + * @member {boolean} [cancellationRequested] Indicates if cancellation was + * requested on the certificate operation. + */ + cancellationRequested?: boolean; + /** + * @member {string} [status] Status of the certificate operation. + */ + status?: string; + /** + * @member {string} [statusDetails] The status details of the certificate + * operation. + */ + statusDetails?: string; + /** + * @member {ErrorModel} [error] Error encountered, if any, during the + * certificate operation. + */ + error?: ErrorModel; + /** + * @member {string} [target] Location which contains the result of the + * certificate operation. + */ + target?: string; + /** + * @member {string} [requestId] Identifier for the certificate operation. + */ + requestId?: string; +} + +/** + * @interface + * An interface representing IssuerCredentials. + * The credentials to be used for the certificate issuer. + * + */ +export interface IssuerCredentials { + /** + * @member {string} [accountId] The user name/account name/account id. + */ + accountId?: string; + /** + * @member {string} [password] The password/secret/account key. + */ + password?: string; +} + +/** + * @interface + * An interface representing AdministratorDetails. + * Details of the organization administrator of the certificate issuer. + * + */ +export interface AdministratorDetails { + /** + * @member {string} [firstName] First name. + */ + firstName?: string; + /** + * @member {string} [lastName] Last name. + */ + lastName?: string; + /** + * @member {string} [emailAddress] Email address. + */ + emailAddress?: string; + /** + * @member {string} [phone] Phone number. + */ + phone?: string; +} + +/** + * @interface + * An interface representing OrganizationDetails. + * Details of the organization of the certificate issuer. + * + */ +export interface OrganizationDetails { + /** + * @member {string} [id] Id of the organization. + */ + id?: string; + /** + * @member {AdministratorDetails[]} [adminDetails] Details of the + * organization administrator. + */ + adminDetails?: AdministratorDetails[]; +} + +/** + * @interface + * An interface representing IssuerAttributes. + * The attributes of an issuer managed by the Key Vault service. + * + */ +export interface IssuerAttributes { + /** + * @member {boolean} [enabled] Determines whether the issuer is enabled. + */ + enabled?: boolean; + /** + * @member {Date} [created] Creation time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly created?: Date; + /** + * @member {Date} [updated] Last updated time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly updated?: Date; +} + +/** + * @interface + * An interface representing IssuerBundle. + * The issuer for Key Vault certificate. + * + */ +export interface IssuerBundle { + /** + * @member {string} [id] Identifier for the issuer object. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {string} [provider] The issuer provider. + */ + provider?: string; + /** + * @member {IssuerCredentials} [credentials] The credentials to be used for + * the issuer. + */ + credentials?: IssuerCredentials; + /** + * @member {OrganizationDetails} [organizationDetails] Details of the + * organization as provided to the issuer. + */ + organizationDetails?: OrganizationDetails; + /** + * @member {IssuerAttributes} [attributes] Attributes of the issuer object. + */ + attributes?: IssuerAttributes; +} + +/** + * @interface + * An interface representing Contact. + * The contact information for the vault certificates. + * + */ +export interface Contact { + /** + * @member {string} [emailAddress] Email address. + */ + emailAddress?: string; + /** + * @member {string} [name] Name. + */ + name?: string; + /** + * @member {string} [phone] Phone number. + */ + phone?: string; +} + +/** + * @interface + * An interface representing Contacts. + * The contacts for the vault certificates. + * + */ +export interface Contacts { + /** + * @member {string} [id] Identifier for the contacts collection. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {Contact[]} [contactList] The contact list for the vault + * certificates. + */ + contactList?: Contact[]; +} + +/** + * @interface + * An interface representing KeyCreateParameters. + * The key create parameters. + * + */ +export interface KeyCreateParameters { + /** + * @member {JsonWebKeyType} kty The type of key to create. For valid values, + * see JsonWebKeyType. Possible values include: 'EC', 'EC-HSM', 'RSA', + * 'RSA-HSM', 'oct' + */ + kty: JsonWebKeyType; + /** + * @member {number} [keySize] The key size in bits. For example: 2048, 3072, + * or 4096 for RSA. + */ + keySize?: number; + /** + * @member {JsonWebKeyOperation[]} [keyOps] + */ + keyOps?: JsonWebKeyOperation[]; + /** + * @member {KeyAttributes} [keyAttributes] + */ + keyAttributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {JsonWebKeyCurveName} [curve] Elliptic curve name. For valid + * values, see JsonWebKeyCurveName. Possible values include: 'P-256', + * 'P-384', 'P-521', 'P-256K' + */ + curve?: JsonWebKeyCurveName; +} + +/** + * @interface + * An interface representing KeyImportParameters. + * The key import parameters. + * + */ +export interface KeyImportParameters { + /** + * @member {boolean} [hsm] Whether to import as a hardware key (HSM) or + * software key. + */ + hsm?: boolean; + /** + * @member {JsonWebKey} key The Json web key + */ + key: JsonWebKey; + /** + * @member {KeyAttributes} [keyAttributes] The key management attributes. + */ + keyAttributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyOperationsParameters. + * The key operations parameters. + * + */ +export interface KeyOperationsParameters { + /** + * @member {JsonWebKeyEncryptionAlgorithm} algorithm algorithm identifier. + * Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', 'RSA1_5' + */ + algorithm: JsonWebKeyEncryptionAlgorithm; + /** + * @member {Uint8Array} value + */ + value: Uint8Array; +} + +/** + * @interface + * An interface representing KeySignParameters. + * The key operations parameters. + * + */ +export interface KeySignParameters { + /** + * @member {JsonWebKeySignatureAlgorithm} algorithm The signing/verification + * algorithm identifier. For more information on possible algorithm types, + * see JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', + * 'PS384', 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', + * 'ES512', 'ES256K' + */ + algorithm: JsonWebKeySignatureAlgorithm; + /** + * @member {Uint8Array} value + */ + value: Uint8Array; +} + +/** + * @interface + * An interface representing KeyVerifyParameters. + * The key verify parameters. + * + */ +export interface KeyVerifyParameters { + /** + * @member {JsonWebKeySignatureAlgorithm} algorithm The signing/verification + * algorithm. For more information on possible algorithm types, see + * JsonWebKeySignatureAlgorithm. Possible values include: 'PS256', 'PS384', + * 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256', 'ES384', 'ES512', + * 'ES256K' + */ + algorithm: JsonWebKeySignatureAlgorithm; + /** + * @member {Uint8Array} digest The digest used for signing. + */ + digest: Uint8Array; + /** + * @member {Uint8Array} signature The signature to be verified. + */ + signature: Uint8Array; +} + +/** + * @interface + * An interface representing KeyUpdateParameters. + * The key update parameters. + * + */ +export interface KeyUpdateParameters { + /** + * @member {JsonWebKeyOperation[]} [keyOps] Json web key operations. For more + * information on possible key operations, see JsonWebKeyOperation. + */ + keyOps?: JsonWebKeyOperation[]; + /** + * @member {KeyAttributes} [keyAttributes] + */ + keyAttributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyRestoreParameters. + * The key restore parameters. + * + */ +export interface KeyRestoreParameters { + /** + * @member {Uint8Array} keyBundleBackup The backup blob associated with a key + * bundle. + */ + keyBundleBackup: Uint8Array; +} + +/** + * @interface + * An interface representing SecretSetParameters. + * The secret set parameters. + * + */ +export interface SecretSetParameters { + /** + * @member {string} value The value of the secret. + */ + value: string; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {string} [contentType] Type of the secret value such as a + * password. + */ + contentType?: string; + /** + * @member {SecretAttributes} [secretAttributes] The secret management + * attributes. + */ + secretAttributes?: SecretAttributes; +} + +/** + * @interface + * An interface representing SecretUpdateParameters. + * The secret update parameters. + * + */ +export interface SecretUpdateParameters { + /** + * @member {string} [contentType] Type of the secret value such as a + * password. + */ + contentType?: string; + /** + * @member {SecretAttributes} [secretAttributes] The secret management + * attributes. + */ + secretAttributes?: SecretAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing CertificateCreateParameters. + * The certificate create parameters. + * + */ +export interface CertificateCreateParameters { + /** + * @member {CertificatePolicy} [certificatePolicy] The management policy for + * the certificate. + */ + certificatePolicy?: CertificatePolicy; + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing CertificateImportParameters. + * The certificate import parameters. + * + */ +export interface CertificateImportParameters { + /** + * @member {string} base64EncodedCertificate Base64 encoded representation of + * the certificate object to import. This certificate needs to contain the + * private key. + */ + base64EncodedCertificate: string; + /** + * @member {string} [password] If the private key in base64EncodedCertificate + * is encrypted, the password used for encryption. + */ + password?: string; + /** + * @member {CertificatePolicy} [certificatePolicy] The management policy for + * the certificate. + */ + certificatePolicy?: CertificatePolicy; + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing CertificateUpdateParameters. + * The certificate update parameters. + * + */ +export interface CertificateUpdateParameters { + /** + * @member {CertificatePolicy} [certificatePolicy] The management policy for + * the certificate. + */ + certificatePolicy?: CertificatePolicy; + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing CertificateMergeParameters. + * The certificate merge parameters + * + */ +export interface CertificateMergeParameters { + /** + * @member {Uint8Array[]} x509Certificates The certificate or the certificate + * chain to merge. + */ + x509Certificates: Uint8Array[]; + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing CertificateIssuerSetParameters. + * The certificate issuer set parameters. + * + */ +export interface CertificateIssuerSetParameters { + /** + * @member {string} provider The issuer provider. + */ + provider: string; + /** + * @member {IssuerCredentials} [credentials] The credentials to be used for + * the issuer. + */ + credentials?: IssuerCredentials; + /** + * @member {OrganizationDetails} [organizationDetails] Details of the + * organization as provided to the issuer. + */ + organizationDetails?: OrganizationDetails; + /** + * @member {IssuerAttributes} [attributes] Attributes of the issuer object. + */ + attributes?: IssuerAttributes; +} + +/** + * @interface + * An interface representing CertificateIssuerUpdateParameters. + * The certificate issuer update parameters. + * + */ +export interface CertificateIssuerUpdateParameters { + /** + * @member {string} [provider] The issuer provider. + */ + provider?: string; + /** + * @member {IssuerCredentials} [credentials] The credentials to be used for + * the issuer. + */ + credentials?: IssuerCredentials; + /** + * @member {OrganizationDetails} [organizationDetails] Details of the + * organization as provided to the issuer. + */ + organizationDetails?: OrganizationDetails; + /** + * @member {IssuerAttributes} [attributes] Attributes of the issuer object. + */ + attributes?: IssuerAttributes; +} + +/** + * @interface + * An interface representing CertificateOperationUpdateParameter. + * The certificate operation update parameters. + * + */ +export interface CertificateOperationUpdateParameter { + /** + * @member {boolean} cancellationRequested Indicates if cancellation was + * requested on the certificate operation. + */ + cancellationRequested: boolean; +} + +/** + * @interface + * An interface representing KeyOperationResult. + * The key operation result. + * + */ +export interface KeyOperationResult { + /** + * @member {string} [kid] Key identifier + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly kid?: string; + /** + * @member {Uint8Array} [result] **NOTE: This property will not be + * serialized. It can only be populated by the server.** + */ + readonly result?: Uint8Array; +} + +/** + * @interface + * An interface representing KeyVerifyResult. + * The key verify result. + * + */ +export interface KeyVerifyResult { + /** + * @member {boolean} [value] True if the signature is verified, otherwise + * false. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly value?: boolean; +} + +/** + * @interface + * An interface representing BackupKeyResult. + * The backup key result, containing the backup blob. + * + */ +export interface BackupKeyResult { + /** + * @member {Uint8Array} [value] The backup blob containing the backed up key. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly value?: Uint8Array; +} + +/** + * @interface + * An interface representing BackupSecretResult. + * The backup secret result, containing the backup blob. + * + */ +export interface BackupSecretResult { + /** + * @member {Uint8Array} [value] The backup blob containing the backed up + * secret. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly value?: Uint8Array; +} + +/** + * @interface + * An interface representing BackupStorageResult. + * The backup storage result, containing the backup blob. + * + */ +export interface BackupStorageResult { + /** + * @member {Uint8Array} [value] The backup blob containing the backed up + * storage account. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly value?: Uint8Array; +} + +/** + * @interface + * An interface representing PendingCertificateSigningRequestResult. + * The pending certificate signing request result. + * + */ +export interface PendingCertificateSigningRequestResult { + /** + * @member {string} [value] The pending certificate signing request as Base64 + * encoded string. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly value?: string; +} + +/** + * @interface + * An interface representing StorageAccountAttributes. + * The storage account management attributes. + * + */ +export interface StorageAccountAttributes { + /** + * @member {boolean} [enabled] the enabled state of the object. + */ + enabled?: boolean; + /** + * @member {Date} [created] Creation time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly created?: Date; + /** + * @member {Date} [updated] Last updated time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly updated?: Date; + /** + * @member {DeletionRecoveryLevel} [recoveryLevel] Reflects the deletion + * recovery level currently in effect for storage accounts in the current + * vault. If it contains 'Purgeable' the storage account can be permanently + * deleted by a privileged user; otherwise, only the system can purge the + * storage account, at the end of the retention interval. Possible values + * include: 'Purgeable', 'Recoverable+Purgeable', 'Recoverable', + * 'Recoverable+ProtectedSubscription' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly recoveryLevel?: DeletionRecoveryLevel; +} + +/** + * @interface + * An interface representing StorageBundle. + * A Storage account bundle consists of key vault storage account details plus + * its attributes. + * + */ +export interface StorageBundle { + /** + * @member {string} [id] The storage account id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {string} [resourceId] The storage account resource id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resourceId?: string; + /** + * @member {string} [activeKeyName] The current active storage account key + * name. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly activeKeyName?: string; + /** + * @member {boolean} [autoRegenerateKey] whether keyvault should manage the + * storage account for the user. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly autoRegenerateKey?: boolean; + /** + * @member {string} [regenerationPeriod] The key regeneration time duration + * specified in ISO-8601 format. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly regenerationPeriod?: string; + /** + * @member {StorageAccountAttributes} [attributes] The storage account + * attributes. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly attributes?: StorageAccountAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing DeletedStorageBundle. + * A deleted storage account bundle consisting of its previous id, attributes + * and its tags, as well as information on when it will be purged. + * + * @extends StorageBundle + */ +export interface DeletedStorageBundle extends StorageBundle { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted storage account. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the storage account is + * scheduled to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the storage account was + * deleted, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing StorageAccountCreateParameters. + * The storage account create parameters. + * + */ +export interface StorageAccountCreateParameters { + /** + * @member {string} resourceId Storage account resource id. + */ + resourceId: string; + /** + * @member {string} activeKeyName Current active storage account key name. + */ + activeKeyName: string; + /** + * @member {boolean} autoRegenerateKey whether keyvault should manage the + * storage account for the user. + */ + autoRegenerateKey: boolean; + /** + * @member {string} [regenerationPeriod] The key regeneration time duration + * specified in ISO-8601 format. + */ + regenerationPeriod?: string; + /** + * @member {StorageAccountAttributes} [storageAccountAttributes] The + * attributes of the storage account. + */ + storageAccountAttributes?: StorageAccountAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing StorageAccountUpdateParameters. + * The storage account update parameters. + * + */ +export interface StorageAccountUpdateParameters { + /** + * @member {string} [activeKeyName] The current active storage account key + * name. + */ + activeKeyName?: string; + /** + * @member {boolean} [autoRegenerateKey] whether keyvault should manage the + * storage account for the user. + */ + autoRegenerateKey?: boolean; + /** + * @member {string} [regenerationPeriod] The key regeneration time duration + * specified in ISO-8601 format. + */ + regenerationPeriod?: string; + /** + * @member {StorageAccountAttributes} [storageAccountAttributes] The + * attributes of the storage account. + */ + storageAccountAttributes?: StorageAccountAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing StorageAccountRegenerteKeyParameters. + * The storage account key regenerate parameters. + * + */ +export interface StorageAccountRegenerteKeyParameters { + /** + * @member {string} keyName The storage account key name. + */ + keyName: string; +} + +/** + * @interface + * An interface representing StorageAccountItem. + * The storage account item containing storage account metadata. + * + */ +export interface StorageAccountItem { + /** + * @member {string} [id] Storage identifier. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {string} [resourceId] Storage account resource Id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly resourceId?: string; + /** + * @member {StorageAccountAttributes} [attributes] The storage account + * management attributes. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly attributes?: StorageAccountAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing DeletedStorageAccountItem. + * The deleted storage account item containing metadata about the deleted + * storage account. + * + * @extends StorageAccountItem + */ +export interface DeletedStorageAccountItem extends StorageAccountItem { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted storage account. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the storage account is + * scheduled to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the storage account was + * deleted, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing SasDefinitionAttributes. + * The SAS definition management attributes. + * + */ +export interface SasDefinitionAttributes { + /** + * @member {boolean} [enabled] the enabled state of the object. + */ + enabled?: boolean; + /** + * @member {Date} [created] Creation time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly created?: Date; + /** + * @member {Date} [updated] Last updated time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly updated?: Date; + /** + * @member {DeletionRecoveryLevel} [recoveryLevel] Reflects the deletion + * recovery level currently in effect for SAS definitions in the current + * vault. If it contains 'Purgeable' the SAS definition can be permanently + * deleted by a privileged user; otherwise, only the system can purge the SAS + * definition, at the end of the retention interval. Possible values include: + * 'Purgeable', 'Recoverable+Purgeable', 'Recoverable', + * 'Recoverable+ProtectedSubscription' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly recoveryLevel?: DeletionRecoveryLevel; +} + +/** + * @interface + * An interface representing SasDefinitionBundle. + * A SAS definition bundle consists of key vault SAS definition details plus + * its attributes. + * + */ +export interface SasDefinitionBundle { + /** + * @member {string} [id] The SAS definition id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {string} [secretId] Storage account SAS definition secret id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly secretId?: string; + /** + * @member {string} [templateUri] The SAS definition token template signed + * with an arbitrary key. Tokens created according to the SAS definition + * will have the same properties as the template. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly templateUri?: string; + /** + * @member {SasTokenType} [sasType] The type of SAS token the SAS definition + * will create. Possible values include: 'account', 'service' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly sasType?: SasTokenType; + /** + * @member {string} [validityPeriod] The validity period of SAS tokens + * created according to the SAS definition. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly validityPeriod?: string; + /** + * @member {SasDefinitionAttributes} [attributes] The SAS definition + * attributes. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly attributes?: SasDefinitionAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing DeletedSasDefinitionBundle. + * A deleted SAS definition bundle consisting of its previous id, attributes + * and its tags, as well as information on when it will be purged. + * + * @extends SasDefinitionBundle + */ +export interface DeletedSasDefinitionBundle extends SasDefinitionBundle { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted SAS definition. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the SAS definition is + * scheduled to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the SAS definition was deleted, + * in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing SasDefinitionItem. + * The SAS definition item containing storage SAS definition metadata. + * + */ +export interface SasDefinitionItem { + /** + * @member {string} [id] The storage SAS identifier. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly id?: string; + /** + * @member {string} [secretId] The storage account SAS definition secret id. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly secretId?: string; + /** + * @member {SasDefinitionAttributes} [attributes] The SAS definition + * management attributes. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly attributes?: SasDefinitionAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing DeletedSasDefinitionItem. + * The deleted SAS definition item containing metadata about the deleted SAS + * definition. + * + * @extends SasDefinitionItem + */ +export interface DeletedSasDefinitionItem extends SasDefinitionItem { + /** + * @member {string} [recoveryId] The url of the recovery object, used to + * identify and recover the deleted SAS definition. + */ + recoveryId?: string; + /** + * @member {Date} [scheduledPurgeDate] The time when the SAS definition is + * scheduled to be purged, in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly scheduledPurgeDate?: Date; + /** + * @member {Date} [deletedDate] The time when the SAS definition was deleted, + * in UTC + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly deletedDate?: Date; +} + +/** + * @interface + * An interface representing SasDefinitionCreateParameters. + * The SAS definition create parameters. + * + */ +export interface SasDefinitionCreateParameters { + /** + * @member {string} templateUri The SAS definition token template signed with + * an arbitrary key. Tokens created according to the SAS definition will + * have the same properties as the template. + */ + templateUri: string; + /** + * @member {SasTokenType} sasType The type of SAS token the SAS definition + * will create. Possible values include: 'account', 'service' + */ + sasType: SasTokenType; + /** + * @member {string} validityPeriod The validity period of SAS tokens created + * according to the SAS definition. + */ + validityPeriod: string; + /** + * @member {SasDefinitionAttributes} [sasDefinitionAttributes] The attributes + * of the SAS definition. + */ + sasDefinitionAttributes?: SasDefinitionAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing SasDefinitionUpdateParameters. + * The SAS definition update parameters. + * + */ +export interface SasDefinitionUpdateParameters { + /** + * @member {string} [templateUri] The SAS definition token template signed + * with an arbitrary key. Tokens created according to the SAS definition + * will have the same properties as the template. + */ + templateUri?: string; + /** + * @member {SasTokenType} [sasType] The type of SAS token the SAS definition + * will create. Possible values include: 'account', 'service' + */ + sasType?: SasTokenType; + /** + * @member {string} [validityPeriod] The validity period of SAS tokens + * created according to the SAS definition. + */ + validityPeriod?: string; + /** + * @member {SasDefinitionAttributes} [sasDefinitionAttributes] The attributes + * of the SAS definition. + */ + sasDefinitionAttributes?: SasDefinitionAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultError. + * The key vault error exception. + * + */ +export interface KeyVaultError { + /** + * @member {ErrorModel} [error] **NOTE: This property will not be serialized. + * It can only be populated by the server.** + */ + readonly error?: ErrorModel; +} + +/** + * @interface + * An interface representing CertificateRestoreParameters. + * The certificate restore parameters. + * + */ +export interface CertificateRestoreParameters { + /** + * @member {Uint8Array} certificateBundleBackup The backup blob associated + * with a certificate bundle. + */ + certificateBundleBackup: Uint8Array; +} + +/** + * @interface + * An interface representing BackupCertificateResult. + * The backup certificate result, containing the backup blob. + * + */ +export interface BackupCertificateResult { + /** + * @member {Uint8Array} [value] The backup blob containing the backed up + * certificate. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly value?: Uint8Array; +} + +/** + * @interface + * An interface representing KeyVaultClientCreateKeyOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientCreateKeyOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [keySize] The key size in bits. For example: 2048, 3072, + * or 4096 for RSA. + */ + keySize?: number; + /** + * @member {JsonWebKeyOperation[]} [keyOps] + */ + keyOps?: JsonWebKeyOperation[]; + /** + * @member {KeyAttributes} [keyAttributes] + */ + keyAttributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {JsonWebKeyCurveName} [curve] Elliptic curve name. For valid + * values, see JsonWebKeyCurveName. Possible values include: 'P-256', + * 'P-384', 'P-521', 'P-256K' + */ + curve?: JsonWebKeyCurveName; +} + +/** + * @interface + * An interface representing KeyVaultClientImportKeyOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientImportKeyOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {boolean} [hsm] Whether to import as a hardware key (HSM) or + * software key. + */ + hsm?: boolean; + /** + * @member {KeyAttributes} [keyAttributes] The key management attributes. + */ + keyAttributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientUpdateKeyOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientUpdateKeyOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {JsonWebKeyOperation[]} [keyOps] Json web key operations. For more + * information on possible key operations, see JsonWebKeyOperation. + */ + keyOps?: JsonWebKeyOperation[]; + /** + * @member {KeyAttributes} [keyAttributes] + */ + keyAttributes?: KeyAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientGetKeyVersionsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetKeyVersionsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientGetKeysOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetKeysOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientGetDeletedKeysOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetDeletedKeysOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientSetSecretOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientSetSecretOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {string} [contentType] Type of the secret value such as a + * password. + */ + contentType?: string; + /** + * @member {SecretAttributes} [secretAttributes] The secret management + * attributes. + */ + secretAttributes?: SecretAttributes; +} + +/** + * @interface + * An interface representing KeyVaultClientUpdateSecretOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientUpdateSecretOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [contentType] Type of the secret value such as a + * password. + */ + contentType?: string; + /** + * @member {SecretAttributes} [secretAttributes] The secret management + * attributes. + */ + secretAttributes?: SecretAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientGetSecretsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetSecretsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified, the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientGetSecretVersionsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetSecretVersionsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified, the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientGetDeletedSecretsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetDeletedSecretsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientGetCertificatesOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetCertificatesOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; + /** + * @member {boolean} [includePending] Specifies whether to include + * certificates which are not completely provisioned. + */ + includePending?: boolean; +} + +/** + * @interface + * An interface representing KeyVaultClientGetCertificateIssuersOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetCertificateIssuersOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientSetCertificateIssuerOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientSetCertificateIssuerOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {IssuerCredentials} [credentials] The credentials to be used for + * the issuer. + */ + credentials?: IssuerCredentials; + /** + * @member {OrganizationDetails} [organizationDetails] Details of the + * organization as provided to the issuer. + */ + organizationDetails?: OrganizationDetails; + /** + * @member {IssuerAttributes} [attributes] Attributes of the issuer object. + */ + attributes?: IssuerAttributes; +} + +/** + * @interface + * An interface representing KeyVaultClientUpdateCertificateIssuerOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientUpdateCertificateIssuerOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [provider] The issuer provider. + */ + provider?: string; + /** + * @member {IssuerCredentials} [credentials] The credentials to be used for + * the issuer. + */ + credentials?: IssuerCredentials; + /** + * @member {OrganizationDetails} [organizationDetails] Details of the + * organization as provided to the issuer. + */ + organizationDetails?: OrganizationDetails; + /** + * @member {IssuerAttributes} [attributes] Attributes of the issuer object. + */ + attributes?: IssuerAttributes; +} + +/** + * @interface + * An interface representing KeyVaultClientCreateCertificateOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientCreateCertificateOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {CertificatePolicy} [certificatePolicy] The management policy for + * the certificate. + */ + certificatePolicy?: CertificatePolicy; + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientImportCertificateOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientImportCertificateOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [password] If the private key in base64EncodedCertificate + * is encrypted, the password used for encryption. + */ + password?: string; + /** + * @member {CertificatePolicy} [certificatePolicy] The management policy for + * the certificate. + */ + certificatePolicy?: CertificatePolicy; + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientGetCertificateVersionsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetCertificateVersionsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientUpdateCertificateOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientUpdateCertificateOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {CertificatePolicy} [certificatePolicy] The management policy for + * the certificate. + */ + certificatePolicy?: CertificatePolicy; + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientMergeCertificateOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientMergeCertificateOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {CertificateAttributes} [certificateAttributes] The attributes of + * the certificate (optional). + */ + certificateAttributes?: CertificateAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientGetDeletedCertificatesOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetDeletedCertificatesOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; + /** + * @member {boolean} [includePending] Specifies whether to include + * certificates which are not completely provisioned. + */ + includePending?: boolean; +} + +/** + * @interface + * An interface representing KeyVaultClientGetStorageAccountsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetStorageAccountsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientGetDeletedStorageAccountsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetDeletedStorageAccountsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientSetStorageAccountOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientSetStorageAccountOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [regenerationPeriod] The key regeneration time duration + * specified in ISO-8601 format. + */ + regenerationPeriod?: string; + /** + * @member {StorageAccountAttributes} [storageAccountAttributes] The + * attributes of the storage account. + */ + storageAccountAttributes?: StorageAccountAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientUpdateStorageAccountOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientUpdateStorageAccountOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [activeKeyName] The current active storage account key + * name. + */ + activeKeyName?: string; + /** + * @member {boolean} [autoRegenerateKey] whether keyvault should manage the + * storage account for the user. + */ + autoRegenerateKey?: boolean; + /** + * @member {string} [regenerationPeriod] The key regeneration time duration + * specified in ISO-8601 format. + */ + regenerationPeriod?: string; + /** + * @member {StorageAccountAttributes} [storageAccountAttributes] The + * attributes of the storage account. + */ + storageAccountAttributes?: StorageAccountAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientGetSasDefinitionsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetSasDefinitionsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientGetDeletedSasDefinitionsOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientGetDeletedSasDefinitionsOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [maxresults] Maximum number of results to return in a + * page. If not specified the service will return up to 25 results. + */ + maxresults?: number; +} + +/** + * @interface + * An interface representing KeyVaultClientSetSasDefinitionOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientSetSasDefinitionOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {SasDefinitionAttributes} [sasDefinitionAttributes] The attributes + * of the SAS definition. + */ + sasDefinitionAttributes?: SasDefinitionAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + +/** + * @interface + * An interface representing KeyVaultClientUpdateSasDefinitionOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface KeyVaultClientUpdateSasDefinitionOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {string} [templateUri] The SAS definition token template signed + * with an arbitrary key. Tokens created according to the SAS definition + * will have the same properties as the template. + */ + templateUri?: string; + /** + * @member {SasTokenType} [sasType] The type of SAS token the SAS definition + * will create. Possible values include: 'account', 'service' + */ + sasType?: SasTokenType; + /** + * @member {string} [validityPeriod] The validity period of SAS tokens + * created according to the SAS definition. + */ + validityPeriod?: string; + /** + * @member {SasDefinitionAttributes} [sasDefinitionAttributes] The attributes + * of the SAS definition. + */ + sasDefinitionAttributes?: SasDefinitionAttributes; + /** + * @member {{ [propertyName: string]: string }} [tags] Application specific + * metadata in the form of key-value pairs. + */ + tags?: { [propertyName: string]: string }; +} + + +/** + * @interface + * An interface representing the KeyListResult. + * The key list result. + * + * @extends Array + */ +export interface KeyListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of keys. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the DeletedKeyListResult. + * A list of keys that have been deleted in this vault. + * + * @extends Array + */ +export interface DeletedKeyListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of deleted keys. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the SecretListResult. + * The secret list result. + * + * @extends Array + */ +export interface SecretListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of secrets. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the DeletedSecretListResult. + * The deleted secret list result + * + * @extends Array + */ +export interface DeletedSecretListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of deleted + * secrets. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the CertificateListResult. + * The certificate list result. + * + * @extends Array + */ +export interface CertificateListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of certificates. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the CertificateIssuerListResult. + * The certificate issuer list result. + * + * @extends Array + */ +export interface CertificateIssuerListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of certificate + * issuers. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the DeletedCertificateListResult. + * A list of certificates that have been deleted in this vault. + * + * @extends Array + */ +export interface DeletedCertificateListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of deleted + * certificates. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the StorageListResult. + * The storage accounts list result. + * + * @extends Array + */ +export interface StorageListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of storage + * accounts. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the DeletedStorageListResult. + * The deleted storage account list result + * + * @extends Array + */ +export interface DeletedStorageListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of deleted storage + * accounts. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the SasDefinitionListResult. + * The storage account SAS definition list result. + * + * @extends Array + */ +export interface SasDefinitionListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of SAS + * definitions. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * @interface + * An interface representing the DeletedSasDefinitionListResult. + * The deleted SAS definition list result + * + * @extends Array + */ +export interface DeletedSasDefinitionListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of deleted SAS + * definitions. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly nextLink?: string; +} + +/** + * Defines values for JsonWebKeyType. + * Possible values include: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct' + * @readonly + * @enum {string} + */ +export type JsonWebKeyType = 'EC' | 'EC-HSM' | 'RSA' | 'RSA-HSM' | 'oct'; + +/** + * Defines values for JsonWebKeyCurveName. + * Possible values include: 'P-256', 'P-384', 'P-521', 'P-256K' + * @readonly + * @enum {string} + */ +export type JsonWebKeyCurveName = 'P-256' | 'P-384' | 'P-521' | 'P-256K'; + +/** + * Defines values for DeletionRecoveryLevel. + * Possible values include: 'Purgeable', 'Recoverable+Purgeable', 'Recoverable', + * 'Recoverable+ProtectedSubscription' + * @readonly + * @enum {string} + */ +export type DeletionRecoveryLevel = 'Purgeable' | 'Recoverable+Purgeable' | 'Recoverable' | 'Recoverable+ProtectedSubscription'; + +/** + * Defines values for KeyUsageType. + * Possible values include: 'digitalSignature', 'nonRepudiation', 'keyEncipherment', + * 'dataEncipherment', 'keyAgreement', 'keyCertSign', 'cRLSign', 'encipherOnly', 'decipherOnly' + * @readonly + * @enum {string} + */ +export type KeyUsageType = 'digitalSignature' | 'nonRepudiation' | 'keyEncipherment' | 'dataEncipherment' | 'keyAgreement' | 'keyCertSign' | 'cRLSign' | 'encipherOnly' | 'decipherOnly'; + +/** + * Defines values for ActionType. + * Possible values include: 'EmailContacts', 'AutoRenew' + * @readonly + * @enum {string} + */ +export type ActionType = 'EmailContacts' | 'AutoRenew'; + +/** + * Defines values for JsonWebKeyOperation. + * Possible values include: 'encrypt', 'decrypt', 'sign', 'verify', 'wrapKey', 'unwrapKey' + * @readonly + * @enum {string} + */ +export type JsonWebKeyOperation = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'wrapKey' | 'unwrapKey'; + +/** + * Defines values for JsonWebKeyEncryptionAlgorithm. + * Possible values include: 'RSA-OAEP', 'RSA-OAEP-256', 'RSA1_5' + * @readonly + * @enum {string} + */ +export type JsonWebKeyEncryptionAlgorithm = 'RSA-OAEP' | 'RSA-OAEP-256' | 'RSA1_5'; + +/** + * Defines values for JsonWebKeySignatureAlgorithm. + * Possible values include: 'PS256', 'PS384', 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', + * 'ES256', 'ES384', 'ES512', 'ES256K' + * @readonly + * @enum {string} + */ +export type JsonWebKeySignatureAlgorithm = 'PS256' | 'PS384' | 'PS512' | 'RS256' | 'RS384' | 'RS512' | 'RSNULL' | 'ES256' | 'ES384' | 'ES512' | 'ES256K'; + +/** + * Defines values for SasTokenType. + * Possible values include: 'account', 'service' + * @readonly + * @enum {string} + */ +export type SasTokenType = 'account' | 'service'; + +/** + * Contains response data for the createKey operation. + */ +export type CreateKeyResponse = KeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyBundle; + }; +}; + +/** + * Contains response data for the importKey operation. + */ +export type ImportKeyResponse = KeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyBundle; + }; +}; + +/** + * Contains response data for the deleteKey operation. + */ +export type DeleteKeyResponse = DeletedKeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedKeyBundle; + }; +}; + +/** + * Contains response data for the updateKey operation. + */ +export type UpdateKeyResponse = KeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyBundle; + }; +}; + +/** + * Contains response data for the getKey operation. + */ +export type GetKeyResponse = KeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyBundle; + }; +}; + +/** + * Contains response data for the getKeyVersions operation. + */ +export type GetKeyVersionsResponse = KeyListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyListResult; + }; +}; + +/** + * Contains response data for the getKeys operation. + */ +export type GetKeysResponse = KeyListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyListResult; + }; +}; + +/** + * Contains response data for the backupKey operation. + */ +export type BackupKeyResponse = BackupKeyResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: BackupKeyResult; + }; +}; + +/** + * Contains response data for the restoreKey operation. + */ +export type RestoreKeyResponse = KeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyBundle; + }; +}; + +/** + * Contains response data for the encrypt operation. + */ +export type EncryptResponse = KeyOperationResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyOperationResult; + }; +}; + +/** + * Contains response data for the decrypt operation. + */ +export type DecryptResponse = KeyOperationResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyOperationResult; + }; +}; + +/** + * Contains response data for the sign operation. + */ +export type SignResponse = KeyOperationResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyOperationResult; + }; +}; + +/** + * Contains response data for the verify operation. + */ +export type VerifyResponse = KeyVerifyResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyVerifyResult; + }; +}; + +/** + * Contains response data for the wrapKey operation. + */ +export type WrapKeyResponse = KeyOperationResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyOperationResult; + }; +}; + +/** + * Contains response data for the unwrapKey operation. + */ +export type UnwrapKeyResponse = KeyOperationResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyOperationResult; + }; +}; + +/** + * Contains response data for the getDeletedKeys operation. + */ +export type GetDeletedKeysResponse = DeletedKeyListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedKeyListResult; + }; +}; + +/** + * Contains response data for the getDeletedKey operation. + */ +export type GetDeletedKeyResponse = DeletedKeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedKeyBundle; + }; +}; + +/** + * Contains response data for the recoverDeletedKey operation. + */ +export type RecoverDeletedKeyResponse = KeyBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyBundle; + }; +}; + +/** + * Contains response data for the setSecret operation. + */ +export type SetSecretResponse = SecretBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretBundle; + }; +}; + +/** + * Contains response data for the deleteSecret operation. + */ +export type DeleteSecretResponse = DeletedSecretBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSecretBundle; + }; +}; + +/** + * Contains response data for the updateSecret operation. + */ +export type UpdateSecretResponse = SecretBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretBundle; + }; +}; + +/** + * Contains response data for the getSecret operation. + */ +export type GetSecretResponse = SecretBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretBundle; + }; +}; + +/** + * Contains response data for the getSecrets operation. + */ +export type GetSecretsResponse = SecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretListResult; + }; +}; + +/** + * Contains response data for the getSecretVersions operation. + */ +export type GetSecretVersionsResponse = SecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretListResult; + }; +}; + +/** + * Contains response data for the getDeletedSecrets operation. + */ +export type GetDeletedSecretsResponse = DeletedSecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSecretListResult; + }; +}; + +/** + * Contains response data for the getDeletedSecret operation. + */ +export type GetDeletedSecretResponse = DeletedSecretBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSecretBundle; + }; +}; + +/** + * Contains response data for the recoverDeletedSecret operation. + */ +export type RecoverDeletedSecretResponse = SecretBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretBundle; + }; +}; + +/** + * Contains response data for the backupSecret operation. + */ +export type BackupSecretResponse = BackupSecretResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: BackupSecretResult; + }; +}; + +/** + * Contains response data for the restoreSecret operation. + */ +export type RestoreSecretResponse = SecretBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretBundle; + }; +}; + +/** + * Contains response data for the getCertificates operation. + */ +export type GetCertificatesResponse = CertificateListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateListResult; + }; +}; + +/** + * Contains response data for the deleteCertificate operation. + */ +export type DeleteCertificateResponse = DeletedCertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedCertificateBundle; + }; +}; + +/** + * Contains response data for the setCertificateContacts operation. + */ +export type SetCertificateContactsResponse = Contacts & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: Contacts; + }; +}; + +/** + * Contains response data for the getCertificateContacts operation. + */ +export type GetCertificateContactsResponse = Contacts & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: Contacts; + }; +}; + +/** + * Contains response data for the deleteCertificateContacts operation. + */ +export type DeleteCertificateContactsResponse = Contacts & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: Contacts; + }; +}; + +/** + * Contains response data for the getCertificateIssuers operation. + */ +export type GetCertificateIssuersResponse = CertificateIssuerListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateIssuerListResult; + }; +}; + +/** + * Contains response data for the setCertificateIssuer operation. + */ +export type SetCertificateIssuerResponse = IssuerBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: IssuerBundle; + }; +}; + +/** + * Contains response data for the updateCertificateIssuer operation. + */ +export type UpdateCertificateIssuerResponse = IssuerBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: IssuerBundle; + }; +}; + +/** + * Contains response data for the getCertificateIssuer operation. + */ +export type GetCertificateIssuerResponse = IssuerBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: IssuerBundle; + }; +}; + +/** + * Contains response data for the deleteCertificateIssuer operation. + */ +export type DeleteCertificateIssuerResponse = IssuerBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: IssuerBundle; + }; +}; + +/** + * Contains response data for the createCertificate operation. + */ +export type CreateCertificateResponse = CertificateOperation & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateOperation; + }; +}; + +/** + * Contains response data for the importCertificate operation. + */ +export type ImportCertificateResponse = CertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateBundle; + }; +}; + +/** + * Contains response data for the getCertificateVersions operation. + */ +export type GetCertificateVersionsResponse = CertificateListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateListResult; + }; +}; + +/** + * Contains response data for the getCertificatePolicy operation. + */ +export type GetCertificatePolicyResponse = CertificatePolicy & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificatePolicy; + }; +}; + +/** + * Contains response data for the updateCertificatePolicy operation. + */ +export type UpdateCertificatePolicyResponse = CertificatePolicy & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificatePolicy; + }; +}; + +/** + * Contains response data for the updateCertificate operation. + */ +export type UpdateCertificateResponse = CertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateBundle; + }; +}; + +/** + * Contains response data for the getCertificate operation. + */ +export type GetCertificateResponse = CertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateBundle; + }; +}; + +/** + * Contains response data for the updateCertificateOperation operation. + */ +export type UpdateCertificateOperationResponse = CertificateOperation & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateOperation; + }; +}; + +/** + * Contains response data for the getCertificateOperation operation. + */ +export type GetCertificateOperationResponse = CertificateOperation & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateOperation; + }; +}; + +/** + * Contains response data for the deleteCertificateOperation operation. + */ +export type DeleteCertificateOperationResponse = CertificateOperation & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateOperation; + }; +}; + +/** + * Contains response data for the mergeCertificate operation. + */ +export type MergeCertificateResponse = CertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateBundle; + }; +}; + +/** + * Contains response data for the backupCertificate operation. + */ +export type BackupCertificateResponse = BackupCertificateResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: BackupCertificateResult; + }; +}; + +/** + * Contains response data for the restoreCertificate operation. + */ +export type RestoreCertificateResponse = CertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateBundle; + }; +}; + +/** + * Contains response data for the getDeletedCertificates operation. + */ +export type GetDeletedCertificatesResponse = DeletedCertificateListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedCertificateListResult; + }; +}; + +/** + * Contains response data for the getDeletedCertificate operation. + */ +export type GetDeletedCertificateResponse = DeletedCertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedCertificateBundle; + }; +}; + +/** + * Contains response data for the recoverDeletedCertificate operation. + */ +export type RecoverDeletedCertificateResponse = CertificateBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateBundle; + }; +}; + +/** + * Contains response data for the getStorageAccounts operation. + */ +export type GetStorageAccountsResponse = StorageListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageListResult; + }; +}; + +/** + * Contains response data for the getDeletedStorageAccounts operation. + */ +export type GetDeletedStorageAccountsResponse = DeletedStorageListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedStorageListResult; + }; +}; + +/** + * Contains response data for the getDeletedStorageAccount operation. + */ +export type GetDeletedStorageAccountResponse = DeletedStorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedStorageBundle; + }; +}; + +/** + * Contains response data for the recoverDeletedStorageAccount operation. + */ +export type RecoverDeletedStorageAccountResponse = StorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageBundle; + }; +}; + +/** + * Contains response data for the backupStorageAccount operation. + */ +export type BackupStorageAccountResponse = BackupStorageResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: BackupStorageResult; + }; +}; + +/** + * Contains response data for the restoreStorageAccount operation. + */ +export type RestoreStorageAccountResponse = StorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageBundle; + }; +}; + +/** + * Contains response data for the deleteStorageAccount operation. + */ +export type DeleteStorageAccountResponse = DeletedStorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedStorageBundle; + }; +}; + +/** + * Contains response data for the getStorageAccount operation. + */ +export type GetStorageAccountResponse = StorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageBundle; + }; +}; + +/** + * Contains response data for the setStorageAccount operation. + */ +export type SetStorageAccountResponse = StorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageBundle; + }; +}; + +/** + * Contains response data for the updateStorageAccount operation. + */ +export type UpdateStorageAccountResponse = StorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageBundle; + }; +}; + +/** + * Contains response data for the regenerateStorageAccountKey operation. + */ +export type RegenerateStorageAccountKeyResponse = StorageBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageBundle; + }; +}; + +/** + * Contains response data for the getSasDefinitions operation. + */ +export type GetSasDefinitionsResponse = SasDefinitionListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SasDefinitionListResult; + }; +}; + +/** + * Contains response data for the getDeletedSasDefinitions operation. + */ +export type GetDeletedSasDefinitionsResponse = DeletedSasDefinitionListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSasDefinitionListResult; + }; +}; + +/** + * Contains response data for the getDeletedSasDefinition operation. + */ +export type GetDeletedSasDefinitionResponse = DeletedSasDefinitionBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSasDefinitionBundle; + }; +}; + +/** + * Contains response data for the recoverDeletedSasDefinition operation. + */ +export type RecoverDeletedSasDefinitionResponse = SasDefinitionBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SasDefinitionBundle; + }; +}; + +/** + * Contains response data for the deleteSasDefinition operation. + */ +export type DeleteSasDefinitionResponse = DeletedSasDefinitionBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSasDefinitionBundle; + }; +}; + +/** + * Contains response data for the getSasDefinition operation. + */ +export type GetSasDefinitionResponse = SasDefinitionBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SasDefinitionBundle; + }; +}; + +/** + * Contains response data for the setSasDefinition operation. + */ +export type SetSasDefinitionResponse = SasDefinitionBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SasDefinitionBundle; + }; +}; + +/** + * Contains response data for the updateSasDefinition operation. + */ +export type UpdateSasDefinitionResponse = SasDefinitionBundle & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SasDefinitionBundle; + }; +}; + +/** + * Contains response data for the getKeyVersionsNext operation. + */ +export type GetKeyVersionsNextResponse = KeyListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyListResult; + }; +}; + +/** + * Contains response data for the getKeysNext operation. + */ +export type GetKeysNextResponse = KeyListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: KeyListResult; + }; +}; + +/** + * Contains response data for the getDeletedKeysNext operation. + */ +export type GetDeletedKeysNextResponse = DeletedKeyListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedKeyListResult; + }; +}; + +/** + * Contains response data for the getSecretsNext operation. + */ +export type GetSecretsNextResponse = SecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretListResult; + }; +}; + +/** + * Contains response data for the getSecretVersionsNext operation. + */ +export type GetSecretVersionsNextResponse = SecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretListResult; + }; +}; + +/** + * Contains response data for the getDeletedSecretsNext operation. + */ +export type GetDeletedSecretsNextResponse = DeletedSecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSecretListResult; + }; +}; + +/** + * Contains response data for the getCertificatesNext operation. + */ +export type GetCertificatesNextResponse = CertificateListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateListResult; + }; +}; + +/** + * Contains response data for the getCertificateIssuersNext operation. + */ +export type GetCertificateIssuersNextResponse = CertificateIssuerListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateIssuerListResult; + }; +}; + +/** + * Contains response data for the getCertificateVersionsNext operation. + */ +export type GetCertificateVersionsNextResponse = CertificateListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: CertificateListResult; + }; +}; + +/** + * Contains response data for the getDeletedCertificatesNext operation. + */ +export type GetDeletedCertificatesNextResponse = DeletedCertificateListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedCertificateListResult; + }; +}; + +/** + * Contains response data for the getStorageAccountsNext operation. + */ +export type GetStorageAccountsNextResponse = StorageListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: StorageListResult; + }; +}; + +/** + * Contains response data for the getDeletedStorageAccountsNext operation. + */ +export type GetDeletedStorageAccountsNextResponse = DeletedStorageListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedStorageListResult; + }; +}; + +/** + * Contains response data for the getSasDefinitionsNext operation. + */ +export type GetSasDefinitionsNextResponse = SasDefinitionListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SasDefinitionListResult; + }; +}; + +/** + * Contains response data for the getDeletedSasDefinitionsNext operation. + */ +export type GetDeletedSasDefinitionsNextResponse = DeletedSasDefinitionListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: DeletedSasDefinitionListResult; + }; +}; diff --git a/packages/@azure/keyvault/lib/models/mappers.ts b/packages/@azure/keyvault/lib/models/mappers.ts new file mode 100644 index 000000000000..24f9fd6f7a97 --- /dev/null +++ b/packages/@azure/keyvault/lib/models/mappers.ts @@ -0,0 +1,3096 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; +import * as msRest from "@azure/ms-rest-js"; + +export const CloudError = CloudErrorMapper; +export const BaseResource = BaseResourceMapper; + +export const Attributes: msRest.CompositeMapper = { + serializedName: "Attributes", + type: { + name: "Composite", + className: "Attributes", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + notBefore: { + serializedName: "nbf", + type: { + name: "UnixTime" + } + }, + expires: { + serializedName: "exp", + type: { + name: "UnixTime" + } + }, + created: { + readOnly: true, + serializedName: "created", + type: { + name: "UnixTime" + } + }, + updated: { + readOnly: true, + serializedName: "updated", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const JsonWebKey: msRest.CompositeMapper = { + serializedName: "JsonWebKey", + type: { + name: "Composite", + className: "JsonWebKey", + modelProperties: { + kid: { + serializedName: "kid", + type: { + name: "String" + } + }, + kty: { + serializedName: "kty", + type: { + name: "String" + } + }, + keyOps: { + serializedName: "key_ops", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + n: { + serializedName: "n", + type: { + name: "Base64Url" + } + }, + e: { + serializedName: "e", + type: { + name: "Base64Url" + } + }, + d: { + serializedName: "d", + type: { + name: "Base64Url" + } + }, + dp: { + serializedName: "dp", + type: { + name: "Base64Url" + } + }, + dq: { + serializedName: "dq", + type: { + name: "Base64Url" + } + }, + qi: { + serializedName: "qi", + type: { + name: "Base64Url" + } + }, + p: { + serializedName: "p", + type: { + name: "Base64Url" + } + }, + q: { + serializedName: "q", + type: { + name: "Base64Url" + } + }, + k: { + serializedName: "k", + type: { + name: "Base64Url" + } + }, + t: { + serializedName: "key_hsm", + type: { + name: "Base64Url" + } + }, + crv: { + serializedName: "crv", + type: { + name: "String" + } + }, + x: { + serializedName: "x", + type: { + name: "Base64Url" + } + }, + y: { + serializedName: "y", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const KeyAttributes: msRest.CompositeMapper = { + serializedName: "KeyAttributes", + type: { + name: "Composite", + className: "KeyAttributes", + modelProperties: { + ...Attributes.type.modelProperties, + recoveryLevel: { + nullable: false, + readOnly: true, + serializedName: "recoveryLevel", + type: { + name: "String" + } + } + } + } +}; + +export const KeyBundle: msRest.CompositeMapper = { + serializedName: "KeyBundle", + type: { + name: "Composite", + className: "KeyBundle", + modelProperties: { + key: { + serializedName: "key", + type: { + name: "Composite", + className: "JsonWebKey" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "KeyAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + managed: { + readOnly: true, + serializedName: "managed", + type: { + name: "Boolean" + } + } + } + } +}; + +export const KeyItem: msRest.CompositeMapper = { + serializedName: "KeyItem", + type: { + name: "Composite", + className: "KeyItem", + modelProperties: { + kid: { + serializedName: "kid", + type: { + name: "String" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "KeyAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + managed: { + readOnly: true, + serializedName: "managed", + type: { + name: "Boolean" + } + } + } + } +}; + +export const DeletedKeyBundle: msRest.CompositeMapper = { + serializedName: "DeletedKeyBundle", + type: { + name: "Composite", + className: "DeletedKeyBundle", + modelProperties: { + ...KeyBundle.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const DeletedKeyItem: msRest.CompositeMapper = { + serializedName: "DeletedKeyItem", + type: { + name: "Composite", + className: "DeletedKeyItem", + modelProperties: { + ...KeyItem.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const SecretAttributes: msRest.CompositeMapper = { + serializedName: "SecretAttributes", + type: { + name: "Composite", + className: "SecretAttributes", + modelProperties: { + ...Attributes.type.modelProperties, + recoveryLevel: { + nullable: false, + readOnly: true, + serializedName: "recoveryLevel", + type: { + name: "String" + } + } + } + } +}; + +export const SecretBundle: msRest.CompositeMapper = { + serializedName: "SecretBundle", + type: { + name: "Composite", + className: "SecretBundle", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "String" + } + }, + id: { + serializedName: "id", + type: { + name: "String" + } + }, + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SecretAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + kid: { + readOnly: true, + serializedName: "kid", + type: { + name: "String" + } + }, + managed: { + readOnly: true, + serializedName: "managed", + type: { + name: "Boolean" + } + } + } + } +}; + +export const SecretItem: msRest.CompositeMapper = { + serializedName: "SecretItem", + type: { + name: "Composite", + className: "SecretItem", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SecretAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + }, + managed: { + readOnly: true, + serializedName: "managed", + type: { + name: "Boolean" + } + } + } + } +}; + +export const DeletedSecretBundle: msRest.CompositeMapper = { + serializedName: "DeletedSecretBundle", + type: { + name: "Composite", + className: "DeletedSecretBundle", + modelProperties: { + ...SecretBundle.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const DeletedSecretItem: msRest.CompositeMapper = { + serializedName: "DeletedSecretItem", + type: { + name: "Composite", + className: "DeletedSecretItem", + modelProperties: { + ...SecretItem.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const SecretRestoreParameters: msRest.CompositeMapper = { + serializedName: "SecretRestoreParameters", + type: { + name: "Composite", + className: "SecretRestoreParameters", + modelProperties: { + secretBundleBackup: { + required: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const StorageRestoreParameters: msRest.CompositeMapper = { + serializedName: "StorageRestoreParameters", + type: { + name: "Composite", + className: "StorageRestoreParameters", + modelProperties: { + storageBundleBackup: { + required: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const CertificateAttributes: msRest.CompositeMapper = { + serializedName: "CertificateAttributes", + type: { + name: "Composite", + className: "CertificateAttributes", + modelProperties: { + ...Attributes.type.modelProperties, + recoveryLevel: { + nullable: false, + readOnly: true, + serializedName: "recoveryLevel", + type: { + name: "String" + } + } + } + } +}; + +export const CertificateItem: msRest.CompositeMapper = { + serializedName: "CertificateItem", + type: { + name: "Composite", + className: "CertificateItem", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "CertificateAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + x509Thumbprint: { + serializedName: "x5t", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const CertificateIssuerItem: msRest.CompositeMapper = { + serializedName: "CertificateIssuerItem", + type: { + name: "Composite", + className: "CertificateIssuerItem", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + provider: { + serializedName: "provider", + type: { + name: "String" + } + } + } + } +}; + +export const KeyProperties: msRest.CompositeMapper = { + serializedName: "KeyProperties", + type: { + name: "Composite", + className: "KeyProperties", + modelProperties: { + exportable: { + serializedName: "exportable", + type: { + name: "Boolean" + } + }, + keyType: { + serializedName: "kty", + type: { + name: "String" + } + }, + keySize: { + serializedName: "key_size", + type: { + name: "Number" + } + }, + reuseKey: { + serializedName: "reuse_key", + type: { + name: "Boolean" + } + }, + curve: { + serializedName: "crv", + type: { + name: "String" + } + } + } + } +}; + +export const SecretProperties: msRest.CompositeMapper = { + serializedName: "SecretProperties", + type: { + name: "Composite", + className: "SecretProperties", + modelProperties: { + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + } + } + } +}; + +export const SubjectAlternativeNames: msRest.CompositeMapper = { + serializedName: "SubjectAlternativeNames", + type: { + name: "Composite", + className: "SubjectAlternativeNames", + modelProperties: { + emails: { + serializedName: "emails", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + dnsNames: { + serializedName: "dns_names", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + upns: { + serializedName: "upns", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const X509CertificateProperties: msRest.CompositeMapper = { + serializedName: "X509CertificateProperties", + type: { + name: "Composite", + className: "X509CertificateProperties", + modelProperties: { + subject: { + serializedName: "subject", + type: { + name: "String" + } + }, + ekus: { + serializedName: "ekus", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + subjectAlternativeNames: { + serializedName: "sans", + type: { + name: "Composite", + className: "SubjectAlternativeNames" + } + }, + keyUsage: { + serializedName: "key_usage", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + validityInMonths: { + serializedName: "validity_months", + constraints: { + InclusiveMinimum: 0 + }, + type: { + name: "Number" + } + } + } + } +}; + +export const Trigger: msRest.CompositeMapper = { + serializedName: "Trigger", + type: { + name: "Composite", + className: "Trigger", + modelProperties: { + lifetimePercentage: { + serializedName: "lifetime_percentage", + constraints: { + InclusiveMaximum: 99, + InclusiveMinimum: 1 + }, + type: { + name: "Number" + } + }, + daysBeforeExpiry: { + serializedName: "days_before_expiry", + type: { + name: "Number" + } + } + } + } +}; + +export const Action: msRest.CompositeMapper = { + serializedName: "Action", + type: { + name: "Composite", + className: "Action", + modelProperties: { + actionType: { + serializedName: "action_type", + type: { + name: "Enum", + allowedValues: [ + "EmailContacts", + "AutoRenew" + ] + } + } + } + } +}; + +export const LifetimeAction: msRest.CompositeMapper = { + serializedName: "LifetimeAction", + type: { + name: "Composite", + className: "LifetimeAction", + modelProperties: { + trigger: { + serializedName: "trigger", + type: { + name: "Composite", + className: "Trigger" + } + }, + action: { + serializedName: "action", + type: { + name: "Composite", + className: "Action" + } + } + } + } +}; + +export const IssuerParameters: msRest.CompositeMapper = { + serializedName: "IssuerParameters", + type: { + name: "Composite", + className: "IssuerParameters", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + certificateType: { + serializedName: "cty", + type: { + name: "String" + } + }, + certificateTransparency: { + serializedName: "cert_transparency", + type: { + name: "Boolean" + } + } + } + } +}; + +export const CertificatePolicy: msRest.CompositeMapper = { + serializedName: "CertificatePolicy", + type: { + name: "Composite", + className: "CertificatePolicy", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + keyProperties: { + serializedName: "key_props", + type: { + name: "Composite", + className: "KeyProperties" + } + }, + secretProperties: { + serializedName: "secret_props", + type: { + name: "Composite", + className: "SecretProperties" + } + }, + x509CertificateProperties: { + serializedName: "x509_props", + type: { + name: "Composite", + className: "X509CertificateProperties" + } + }, + lifetimeActions: { + serializedName: "lifetime_actions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LifetimeAction" + } + } + } + }, + issuerParameters: { + serializedName: "issuer", + type: { + name: "Composite", + className: "IssuerParameters" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "CertificateAttributes" + } + } + } + } +}; + +export const CertificateBundle: msRest.CompositeMapper = { + serializedName: "CertificateBundle", + type: { + name: "Composite", + className: "CertificateBundle", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + kid: { + readOnly: true, + serializedName: "kid", + type: { + name: "String" + } + }, + sid: { + readOnly: true, + serializedName: "sid", + type: { + name: "String" + } + }, + x509Thumbprint: { + readOnly: true, + serializedName: "x5t", + type: { + name: "Base64Url" + } + }, + policy: { + readOnly: true, + serializedName: "policy", + type: { + name: "Composite", + className: "CertificatePolicy" + } + }, + cer: { + serializedName: "cer", + type: { + name: "ByteArray" + } + }, + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "CertificateAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const DeletedCertificateBundle: msRest.CompositeMapper = { + serializedName: "DeletedCertificateBundle", + type: { + name: "Composite", + className: "DeletedCertificateBundle", + modelProperties: { + ...CertificateBundle.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const DeletedCertificateItem: msRest.CompositeMapper = { + serializedName: "DeletedCertificateItem", + type: { + name: "Composite", + className: "DeletedCertificateItem", + modelProperties: { + ...CertificateItem.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const ErrorModel: msRest.CompositeMapper = { + serializedName: "Error", + type: { + name: "Composite", + className: "ErrorModel", + modelProperties: { + code: { + readOnly: true, + serializedName: "code", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + innerError: { + readOnly: true, + serializedName: "innererror", + type: { + name: "Composite", + className: "ErrorModel" + } + } + } + } +}; + +export const CertificateOperation: msRest.CompositeMapper = { + serializedName: "CertificateOperation", + type: { + name: "Composite", + className: "CertificateOperation", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + issuerParameters: { + serializedName: "issuer", + type: { + name: "Composite", + className: "IssuerParameters" + } + }, + csr: { + serializedName: "csr", + type: { + name: "ByteArray" + } + }, + cancellationRequested: { + serializedName: "cancellation_requested", + type: { + name: "Boolean" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + }, + statusDetails: { + serializedName: "status_details", + type: { + name: "String" + } + }, + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorModel" + } + }, + target: { + serializedName: "target", + type: { + name: "String" + } + }, + requestId: { + serializedName: "request_id", + type: { + name: "String" + } + } + } + } +}; + +export const IssuerCredentials: msRest.CompositeMapper = { + serializedName: "IssuerCredentials", + type: { + name: "Composite", + className: "IssuerCredentials", + modelProperties: { + accountId: { + serializedName: "account_id", + type: { + name: "String" + } + }, + password: { + serializedName: "pwd", + type: { + name: "String" + } + } + } + } +}; + +export const AdministratorDetails: msRest.CompositeMapper = { + serializedName: "AdministratorDetails", + type: { + name: "Composite", + className: "AdministratorDetails", + modelProperties: { + firstName: { + serializedName: "first_name", + type: { + name: "String" + } + }, + lastName: { + serializedName: "last_name", + type: { + name: "String" + } + }, + emailAddress: { + serializedName: "email", + type: { + name: "String" + } + }, + phone: { + serializedName: "phone", + type: { + name: "String" + } + } + } + } +}; + +export const OrganizationDetails: msRest.CompositeMapper = { + serializedName: "OrganizationDetails", + type: { + name: "Composite", + className: "OrganizationDetails", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + adminDetails: { + serializedName: "admin_details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AdministratorDetails" + } + } + } + } + } + } +}; + +export const IssuerAttributes: msRest.CompositeMapper = { + serializedName: "IssuerAttributes", + type: { + name: "Composite", + className: "IssuerAttributes", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + created: { + readOnly: true, + serializedName: "created", + type: { + name: "UnixTime" + } + }, + updated: { + readOnly: true, + serializedName: "updated", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const IssuerBundle: msRest.CompositeMapper = { + serializedName: "IssuerBundle", + type: { + name: "Composite", + className: "IssuerBundle", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + provider: { + serializedName: "provider", + type: { + name: "String" + } + }, + credentials: { + serializedName: "credentials", + type: { + name: "Composite", + className: "IssuerCredentials" + } + }, + organizationDetails: { + serializedName: "org_details", + type: { + name: "Composite", + className: "OrganizationDetails" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "IssuerAttributes" + } + } + } + } +}; + +export const Contact: msRest.CompositeMapper = { + serializedName: "Contact", + type: { + name: "Composite", + className: "Contact", + modelProperties: { + emailAddress: { + serializedName: "email", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + phone: { + serializedName: "phone", + type: { + name: "String" + } + } + } + } +}; + +export const Contacts: msRest.CompositeMapper = { + serializedName: "Contacts", + type: { + name: "Composite", + className: "Contacts", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + contactList: { + serializedName: "contacts", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Contact" + } + } + } + } + } + } +}; + +export const KeyCreateParameters: msRest.CompositeMapper = { + serializedName: "KeyCreateParameters", + type: { + name: "Composite", + className: "KeyCreateParameters", + modelProperties: { + kty: { + required: true, + serializedName: "kty", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + }, + keySize: { + serializedName: "key_size", + type: { + name: "Number" + } + }, + keyOps: { + serializedName: "key_ops", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + keyAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "KeyAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + curve: { + serializedName: "crv", + type: { + name: "String" + } + } + } + } +}; + +export const KeyImportParameters: msRest.CompositeMapper = { + serializedName: "KeyImportParameters", + type: { + name: "Composite", + className: "KeyImportParameters", + modelProperties: { + hsm: { + serializedName: "Hsm", + type: { + name: "Boolean" + } + }, + key: { + required: true, + serializedName: "key", + type: { + name: "Composite", + className: "JsonWebKey" + } + }, + keyAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "KeyAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const KeyOperationsParameters: msRest.CompositeMapper = { + serializedName: "KeyOperationsParameters", + type: { + name: "Composite", + className: "KeyOperationsParameters", + modelProperties: { + algorithm: { + required: true, + serializedName: "alg", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + }, + value: { + required: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const KeySignParameters: msRest.CompositeMapper = { + serializedName: "KeySignParameters", + type: { + name: "Composite", + className: "KeySignParameters", + modelProperties: { + algorithm: { + required: true, + serializedName: "alg", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + }, + value: { + required: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const KeyVerifyParameters: msRest.CompositeMapper = { + serializedName: "KeyVerifyParameters", + type: { + name: "Composite", + className: "KeyVerifyParameters", + modelProperties: { + algorithm: { + required: true, + serializedName: "alg", + constraints: { + MinLength: 1 + }, + type: { + name: "String" + } + }, + digest: { + required: true, + serializedName: "digest", + type: { + name: "Base64Url" + } + }, + signature: { + required: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const KeyUpdateParameters: msRest.CompositeMapper = { + serializedName: "KeyUpdateParameters", + type: { + name: "Composite", + className: "KeyUpdateParameters", + modelProperties: { + keyOps: { + serializedName: "key_ops", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + keyAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "KeyAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const KeyRestoreParameters: msRest.CompositeMapper = { + serializedName: "KeyRestoreParameters", + type: { + name: "Composite", + className: "KeyRestoreParameters", + modelProperties: { + keyBundleBackup: { + required: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const SecretSetParameters: msRest.CompositeMapper = { + serializedName: "SecretSetParameters", + type: { + name: "Composite", + className: "SecretSetParameters", + modelProperties: { + value: { + required: true, + serializedName: "value", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + }, + secretAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SecretAttributes" + } + } + } + } +}; + +export const SecretUpdateParameters: msRest.CompositeMapper = { + serializedName: "SecretUpdateParameters", + type: { + name: "Composite", + className: "SecretUpdateParameters", + modelProperties: { + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + }, + secretAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SecretAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CertificateCreateParameters: msRest.CompositeMapper = { + serializedName: "CertificateCreateParameters", + type: { + name: "Composite", + className: "CertificateCreateParameters", + modelProperties: { + certificatePolicy: { + serializedName: "policy", + type: { + name: "Composite", + className: "CertificatePolicy" + } + }, + certificateAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "CertificateAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CertificateImportParameters: msRest.CompositeMapper = { + serializedName: "CertificateImportParameters", + type: { + name: "Composite", + className: "CertificateImportParameters", + modelProperties: { + base64EncodedCertificate: { + required: true, + serializedName: "value", + type: { + name: "String" + } + }, + password: { + serializedName: "pwd", + type: { + name: "String" + } + }, + certificatePolicy: { + serializedName: "policy", + type: { + name: "Composite", + className: "CertificatePolicy" + } + }, + certificateAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "CertificateAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CertificateUpdateParameters: msRest.CompositeMapper = { + serializedName: "CertificateUpdateParameters", + type: { + name: "Composite", + className: "CertificateUpdateParameters", + modelProperties: { + certificatePolicy: { + serializedName: "policy", + type: { + name: "Composite", + className: "CertificatePolicy" + } + }, + certificateAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "CertificateAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CertificateMergeParameters: msRest.CompositeMapper = { + serializedName: "CertificateMergeParameters", + type: { + name: "Composite", + className: "CertificateMergeParameters", + modelProperties: { + x509Certificates: { + required: true, + serializedName: "x5c", + type: { + name: "Sequence", + element: { + type: { + name: "ByteArray" + } + } + } + }, + certificateAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "CertificateAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CertificateIssuerSetParameters: msRest.CompositeMapper = { + serializedName: "CertificateIssuerSetParameters", + type: { + name: "Composite", + className: "CertificateIssuerSetParameters", + modelProperties: { + provider: { + required: true, + serializedName: "provider", + type: { + name: "String" + } + }, + credentials: { + serializedName: "credentials", + type: { + name: "Composite", + className: "IssuerCredentials" + } + }, + organizationDetails: { + serializedName: "org_details", + type: { + name: "Composite", + className: "OrganizationDetails" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "IssuerAttributes" + } + } + } + } +}; + +export const CertificateIssuerUpdateParameters: msRest.CompositeMapper = { + serializedName: "CertificateIssuerUpdateParameters", + type: { + name: "Composite", + className: "CertificateIssuerUpdateParameters", + modelProperties: { + provider: { + serializedName: "provider", + type: { + name: "String" + } + }, + credentials: { + serializedName: "credentials", + type: { + name: "Composite", + className: "IssuerCredentials" + } + }, + organizationDetails: { + serializedName: "org_details", + type: { + name: "Composite", + className: "OrganizationDetails" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "IssuerAttributes" + } + } + } + } +}; + +export const CertificateOperationUpdateParameter: msRest.CompositeMapper = { + serializedName: "CertificateOperationUpdateParameter", + type: { + name: "Composite", + className: "CertificateOperationUpdateParameter", + modelProperties: { + cancellationRequested: { + required: true, + serializedName: "cancellation_requested", + type: { + name: "Boolean" + } + } + } + } +}; + +export const KeyOperationResult: msRest.CompositeMapper = { + serializedName: "KeyOperationResult", + type: { + name: "Composite", + className: "KeyOperationResult", + modelProperties: { + kid: { + readOnly: true, + serializedName: "kid", + type: { + name: "String" + } + }, + result: { + readOnly: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const KeyVerifyResult: msRest.CompositeMapper = { + serializedName: "KeyVerifyResult", + type: { + name: "Composite", + className: "KeyVerifyResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Boolean" + } + } + } + } +}; + +export const BackupKeyResult: msRest.CompositeMapper = { + serializedName: "BackupKeyResult", + type: { + name: "Composite", + className: "BackupKeyResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const BackupSecretResult: msRest.CompositeMapper = { + serializedName: "BackupSecretResult", + type: { + name: "Composite", + className: "BackupSecretResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const BackupStorageResult: msRest.CompositeMapper = { + serializedName: "BackupStorageResult", + type: { + name: "Composite", + className: "BackupStorageResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const PendingCertificateSigningRequestResult: msRest.CompositeMapper = { + serializedName: "PendingCertificateSigningRequestResult", + type: { + name: "Composite", + className: "PendingCertificateSigningRequestResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const StorageAccountAttributes: msRest.CompositeMapper = { + serializedName: "StorageAccountAttributes", + type: { + name: "Composite", + className: "StorageAccountAttributes", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + created: { + readOnly: true, + serializedName: "created", + type: { + name: "UnixTime" + } + }, + updated: { + readOnly: true, + serializedName: "updated", + type: { + name: "UnixTime" + } + }, + recoveryLevel: { + nullable: false, + readOnly: true, + serializedName: "recoveryLevel", + type: { + name: "String" + } + } + } + } +}; + +export const StorageBundle: msRest.CompositeMapper = { + serializedName: "StorageBundle", + type: { + name: "Composite", + className: "StorageBundle", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resourceId: { + readOnly: true, + serializedName: "resourceId", + type: { + name: "String" + } + }, + activeKeyName: { + readOnly: true, + serializedName: "activeKeyName", + type: { + name: "String" + } + }, + autoRegenerateKey: { + readOnly: true, + serializedName: "autoRegenerateKey", + type: { + name: "Boolean" + } + }, + regenerationPeriod: { + readOnly: true, + serializedName: "regenerationPeriod", + type: { + name: "String" + } + }, + attributes: { + readOnly: true, + serializedName: "attributes", + type: { + name: "Composite", + className: "StorageAccountAttributes" + } + }, + tags: { + readOnly: true, + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const DeletedStorageBundle: msRest.CompositeMapper = { + serializedName: "DeletedStorageBundle", + type: { + name: "Composite", + className: "DeletedStorageBundle", + modelProperties: { + ...StorageBundle.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const StorageAccountCreateParameters: msRest.CompositeMapper = { + serializedName: "StorageAccountCreateParameters", + type: { + name: "Composite", + className: "StorageAccountCreateParameters", + modelProperties: { + resourceId: { + required: true, + serializedName: "resourceId", + type: { + name: "String" + } + }, + activeKeyName: { + required: true, + serializedName: "activeKeyName", + type: { + name: "String" + } + }, + autoRegenerateKey: { + required: true, + serializedName: "autoRegenerateKey", + type: { + name: "Boolean" + } + }, + regenerationPeriod: { + serializedName: "regenerationPeriod", + type: { + name: "String" + } + }, + storageAccountAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "StorageAccountAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const StorageAccountUpdateParameters: msRest.CompositeMapper = { + serializedName: "StorageAccountUpdateParameters", + type: { + name: "Composite", + className: "StorageAccountUpdateParameters", + modelProperties: { + activeKeyName: { + serializedName: "activeKeyName", + type: { + name: "String" + } + }, + autoRegenerateKey: { + serializedName: "autoRegenerateKey", + type: { + name: "Boolean" + } + }, + regenerationPeriod: { + serializedName: "regenerationPeriod", + type: { + name: "String" + } + }, + storageAccountAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "StorageAccountAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const StorageAccountRegenerteKeyParameters: msRest.CompositeMapper = { + serializedName: "StorageAccountRegenerteKeyParameters", + type: { + name: "Composite", + className: "StorageAccountRegenerteKeyParameters", + modelProperties: { + keyName: { + required: true, + serializedName: "keyName", + type: { + name: "String" + } + } + } + } +}; + +export const StorageAccountItem: msRest.CompositeMapper = { + serializedName: "StorageAccountItem", + type: { + name: "Composite", + className: "StorageAccountItem", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resourceId: { + readOnly: true, + serializedName: "resourceId", + type: { + name: "String" + } + }, + attributes: { + readOnly: true, + serializedName: "attributes", + type: { + name: "Composite", + className: "StorageAccountAttributes" + } + }, + tags: { + readOnly: true, + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const DeletedStorageAccountItem: msRest.CompositeMapper = { + serializedName: "DeletedStorageAccountItem", + type: { + name: "Composite", + className: "DeletedStorageAccountItem", + modelProperties: { + ...StorageAccountItem.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const SasDefinitionAttributes: msRest.CompositeMapper = { + serializedName: "SasDefinitionAttributes", + type: { + name: "Composite", + className: "SasDefinitionAttributes", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + created: { + readOnly: true, + serializedName: "created", + type: { + name: "UnixTime" + } + }, + updated: { + readOnly: true, + serializedName: "updated", + type: { + name: "UnixTime" + } + }, + recoveryLevel: { + nullable: false, + readOnly: true, + serializedName: "recoveryLevel", + type: { + name: "String" + } + } + } + } +}; + +export const SasDefinitionBundle: msRest.CompositeMapper = { + serializedName: "SasDefinitionBundle", + type: { + name: "Composite", + className: "SasDefinitionBundle", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + secretId: { + readOnly: true, + serializedName: "sid", + type: { + name: "String" + } + }, + templateUri: { + readOnly: true, + serializedName: "templateUri", + type: { + name: "String" + } + }, + sasType: { + readOnly: true, + serializedName: "sasType", + type: { + name: "String" + } + }, + validityPeriod: { + readOnly: true, + serializedName: "validityPeriod", + type: { + name: "String" + } + }, + attributes: { + readOnly: true, + serializedName: "attributes", + type: { + name: "Composite", + className: "SasDefinitionAttributes" + } + }, + tags: { + readOnly: true, + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const DeletedSasDefinitionBundle: msRest.CompositeMapper = { + serializedName: "DeletedSasDefinitionBundle", + type: { + name: "Composite", + className: "DeletedSasDefinitionBundle", + modelProperties: { + ...SasDefinitionBundle.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const SasDefinitionItem: msRest.CompositeMapper = { + serializedName: "SasDefinitionItem", + type: { + name: "Composite", + className: "SasDefinitionItem", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + secretId: { + readOnly: true, + serializedName: "sid", + type: { + name: "String" + } + }, + attributes: { + readOnly: true, + serializedName: "attributes", + type: { + name: "Composite", + className: "SasDefinitionAttributes" + } + }, + tags: { + readOnly: true, + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const DeletedSasDefinitionItem: msRest.CompositeMapper = { + serializedName: "DeletedSasDefinitionItem", + type: { + name: "Composite", + className: "DeletedSasDefinitionItem", + modelProperties: { + ...SasDefinitionItem.type.modelProperties, + recoveryId: { + serializedName: "recoveryId", + type: { + name: "String" + } + }, + scheduledPurgeDate: { + readOnly: true, + serializedName: "scheduledPurgeDate", + type: { + name: "UnixTime" + } + }, + deletedDate: { + readOnly: true, + serializedName: "deletedDate", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const SasDefinitionCreateParameters: msRest.CompositeMapper = { + serializedName: "SasDefinitionCreateParameters", + type: { + name: "Composite", + className: "SasDefinitionCreateParameters", + modelProperties: { + templateUri: { + required: true, + serializedName: "templateUri", + type: { + name: "String" + } + }, + sasType: { + required: true, + serializedName: "sasType", + type: { + name: "String" + } + }, + validityPeriod: { + required: true, + serializedName: "validityPeriod", + type: { + name: "String" + } + }, + sasDefinitionAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SasDefinitionAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const SasDefinitionUpdateParameters: msRest.CompositeMapper = { + serializedName: "SasDefinitionUpdateParameters", + type: { + name: "Composite", + className: "SasDefinitionUpdateParameters", + modelProperties: { + templateUri: { + serializedName: "templateUri", + type: { + name: "String" + } + }, + sasType: { + serializedName: "sasType", + type: { + name: "String" + } + }, + validityPeriod: { + serializedName: "validityPeriod", + type: { + name: "String" + } + }, + sasDefinitionAttributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SasDefinitionAttributes" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const KeyVaultError: msRest.CompositeMapper = { + serializedName: "KeyVaultError", + type: { + name: "Composite", + className: "KeyVaultError", + modelProperties: { + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ErrorModel" + } + } + } + } +}; + +export const CertificateRestoreParameters: msRest.CompositeMapper = { + serializedName: "CertificateRestoreParameters", + type: { + name: "Composite", + className: "CertificateRestoreParameters", + modelProperties: { + certificateBundleBackup: { + required: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const BackupCertificateResult: msRest.CompositeMapper = { + serializedName: "BackupCertificateResult", + type: { + name: "Composite", + className: "BackupCertificateResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "Base64Url" + } + } + } + } +}; + +export const KeyListResult: msRest.CompositeMapper = { + serializedName: "KeyListResult", + type: { + name: "Composite", + className: "KeyListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "KeyItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedKeyListResult: msRest.CompositeMapper = { + serializedName: "DeletedKeyListResult", + type: { + name: "Composite", + className: "DeletedKeyListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedKeyItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const SecretListResult: msRest.CompositeMapper = { + serializedName: "SecretListResult", + type: { + name: "Composite", + className: "SecretListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SecretItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedSecretListResult: msRest.CompositeMapper = { + serializedName: "DeletedSecretListResult", + type: { + name: "Composite", + className: "DeletedSecretListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedSecretItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const CertificateListResult: msRest.CompositeMapper = { + serializedName: "CertificateListResult", + type: { + name: "Composite", + className: "CertificateListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CertificateItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const CertificateIssuerListResult: msRest.CompositeMapper = { + serializedName: "CertificateIssuerListResult", + type: { + name: "Composite", + className: "CertificateIssuerListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CertificateIssuerItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedCertificateListResult: msRest.CompositeMapper = { + serializedName: "DeletedCertificateListResult", + type: { + name: "Composite", + className: "DeletedCertificateListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedCertificateItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const StorageListResult: msRest.CompositeMapper = { + serializedName: "StorageListResult", + type: { + name: "Composite", + className: "StorageListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StorageAccountItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedStorageListResult: msRest.CompositeMapper = { + serializedName: "DeletedStorageListResult", + type: { + name: "Composite", + className: "DeletedStorageListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedStorageAccountItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const SasDefinitionListResult: msRest.CompositeMapper = { + serializedName: "SasDefinitionListResult", + type: { + name: "Composite", + className: "SasDefinitionListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SasDefinitionItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DeletedSasDefinitionListResult: msRest.CompositeMapper = { + serializedName: "DeletedSasDefinitionListResult", + type: { + name: "Composite", + className: "DeletedSasDefinitionListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeletedSasDefinitionItem" + } + } + } + }, + nextLink: { + readOnly: true, + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/packages/@azure/keyvault/lib/models/parameters.ts b/packages/@azure/keyvault/lib/models/parameters.ts new file mode 100644 index 000000000000..d09462859f3e --- /dev/null +++ b/packages/@azure/keyvault/lib/models/parameters.ts @@ -0,0 +1,228 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; + +export const acceptLanguage: msRest.OperationParameter = { + parameterPath: "acceptLanguage", + mapper: { + serializedName: "accept-language", + defaultValue: 'en-US', + type: { + name: "String" + } + } +}; +export const apiVersion: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; +export const certificateName0: msRest.OperationURLParameter = { + parameterPath: "certificateName", + mapper: { + required: true, + serializedName: "certificate-name", + type: { + name: "String" + } + } +}; +export const certificateName1: msRest.OperationURLParameter = { + parameterPath: "certificateName", + mapper: { + required: true, + serializedName: "certificate-name", + constraints: { + Pattern: /^[0-9a-zA-Z-]+$/ + }, + type: { + name: "String" + } + } +}; +export const certificateVersion: msRest.OperationURLParameter = { + parameterPath: "certificateVersion", + mapper: { + required: true, + serializedName: "certificate-version", + type: { + name: "String" + } + } +}; +export const includePending: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "includePending" + ], + mapper: { + serializedName: "includePending", + type: { + name: "Boolean" + } + } +}; +export const issuerName: msRest.OperationURLParameter = { + parameterPath: "issuerName", + mapper: { + required: true, + serializedName: "issuer-name", + type: { + name: "String" + } + } +}; +export const keyName0: msRest.OperationURLParameter = { + parameterPath: "keyName", + mapper: { + required: true, + serializedName: "key-name", + constraints: { + Pattern: /^[0-9a-zA-Z-]+$/ + }, + type: { + name: "String" + } + } +}; +export const keyName1: msRest.OperationURLParameter = { + parameterPath: "keyName", + mapper: { + required: true, + serializedName: "key-name", + type: { + name: "String" + } + } +}; +export const keyVersion: msRest.OperationURLParameter = { + parameterPath: "keyVersion", + mapper: { + required: true, + serializedName: "key-version", + type: { + name: "String" + } + } +}; +export const maxresults: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "maxresults" + ], + mapper: { + serializedName: "maxresults", + constraints: { + InclusiveMaximum: 25, + InclusiveMinimum: 1 + }, + type: { + name: "Number" + } + } +}; +export const nextPageLink: msRest.OperationURLParameter = { + parameterPath: "nextPageLink", + mapper: { + required: true, + serializedName: "nextLink", + type: { + name: "String" + } + }, + skipEncoding: true +}; +export const sasDefinitionName: msRest.OperationURLParameter = { + parameterPath: "sasDefinitionName", + mapper: { + required: true, + serializedName: "sas-definition-name", + constraints: { + Pattern: /^[0-9a-zA-Z]+$/ + }, + type: { + name: "String" + } + } +}; +export const secretName0: msRest.OperationURLParameter = { + parameterPath: "secretName", + mapper: { + required: true, + serializedName: "secret-name", + constraints: { + Pattern: /^[0-9a-zA-Z-]+$/ + }, + type: { + name: "String" + } + } +}; +export const secretName1: msRest.OperationURLParameter = { + parameterPath: "secretName", + mapper: { + required: true, + serializedName: "secret-name", + type: { + name: "String" + } + } +}; +export const secretVersion: msRest.OperationURLParameter = { + parameterPath: "secretVersion", + mapper: { + required: true, + serializedName: "secret-version", + type: { + name: "String" + } + } +}; +export const storageAccountName0: msRest.OperationURLParameter = { + parameterPath: "storageAccountName", + mapper: { + required: true, + serializedName: "storage-account-name", + constraints: { + Pattern: /^[0-9a-zA-Z]+$/ + }, + type: { + name: "String" + } + } +}; +export const storageAccountName1: msRest.OperationURLParameter = { + parameterPath: "storageAccountName", + mapper: { + required: true, + serializedName: "storage-account-name", + type: { + name: "String" + } + } +}; +export const vaultBaseUrl: msRest.OperationURLParameter = { + parameterPath: "vaultBaseUrl", + mapper: { + required: true, + serializedName: "vaultBaseUrl", + defaultValue: '', + type: { + name: "String" + } + }, + skipEncoding: true +}; diff --git a/packages/@azure/keyvault/package.json b/packages/@azure/keyvault/package.json new file mode 100644 index 000000000000..9298cf4d2db9 --- /dev/null +++ b/packages/@azure/keyvault/package.json @@ -0,0 +1,56 @@ +{ + "name": "@azure/keyvault", + "author": "Microsoft Corporation", + "description": "KeyVaultClient Library with typescript type definitions for node.js and browser.", + "version": "0.1.0", + "dependencies": { + "@azure/ms-rest-azure-js": "^1.2.0", + "@azure/ms-rest-js": "^1.2.0", + "tslib": "^1.9.3" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/keyvault.js", + "module": "./esm/keyVaultClient.js", + "types": "./esm/keyVaultClient.d.ts", + "devDependencies": { + "typescript": "^3.1.1", + "rollup": "^0.66.2", + "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "uglify-js": "^3.4.9" + }, + "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/packages/@azure/keyvault", + "repository": { + "type": "git", + "url": "https://github.com/azure/azure-sdk-for-js.git" + }, + "bugs": { + "url": "https://github.com/azure/azure-sdk-for-js/issues" + }, + "files": [ + "dist/**/*.js", + "dist/**/*.js.map", + "dist/**/*.d.ts", + "dist/**/*.d.ts.map", + "esm/**/*.js", + "esm/**/*.js.map", + "esm/**/*.d.ts", + "esm/**/*.d.ts.map", + "lib/**/*.ts", + "rollup.config.js", + "tsconfig.json" + ], + "scripts": { + "build": "tsc && rollup -c rollup.config.js && npm run minify", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/keyvault.js.map'\" -o ./dist/keyvault.min.js ./dist/keyvault.js", + "prepack": "npm install && npm run build" + }, + "sideEffects": false +} diff --git a/packages/@azure/keyvault/rollup.config.js b/packages/@azure/keyvault/rollup.config.js new file mode 100644 index 000000000000..ad2d9e1aac92 --- /dev/null +++ b/packages/@azure/keyvault/rollup.config.js @@ -0,0 +1,37 @@ +import rollup from "rollup"; +import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + +/** + * @type {rollup.RollupFileOptions} + */ +const config = { + input: "./esm/keyVaultClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], + output: { + file: "./dist/keyvault.js", + format: "umd", + name: "Azure.Keyvault", + sourcemap: true, + globals: { + "@azure/ms-rest-js": "msRest", + "@azure/ms-rest-azure-js": "msRestAzure" + }, + banner: `/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */` + }, + plugins: [ + nodeResolve({ module: true }), + sourcemaps() + ] +}; + +export default config; diff --git a/packages/@azure/keyvault/tsconfig.json b/packages/@azure/keyvault/tsconfig.json new file mode 100644 index 000000000000..51ea90961ce5 --- /dev/null +++ b/packages/@azure/keyvault/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./lib/**/*.ts"], + "exclude": ["node_modules"] +}