UNPKG

@azure/keyvault-secrets

Version:
318 lines • 19.2 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. import { secretSetParametersSerializer, secretBundleDeserializer, keyVaultErrorDeserializer, deletedSecretBundleDeserializer, secretUpdateParametersSerializer, _secretListResultDeserializer, _deletedSecretListResultDeserializer, backupSecretResultDeserializer, secretRestoreParametersSerializer, } from "../models/models.js"; import { buildPagedAsyncIterator, } from "../static-helpers/pagingHelpers.js"; import { expandUrlTemplate } from "../static-helpers/urlTemplate.js"; import { createRestError, operationOptionsToRequestParameters, } from "@azure-rest/core-client"; export function _restoreSecretSend(context, parameters, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets/restore{?api%2Dversion}", { "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: secretRestoreParametersSerializer(parameters) })); } export async function _restoreSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return secretBundleDeserializer(result.body); } /** Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission. */ export async function restoreSecret(context, parameters, options = { requestOptions: {} }) { const result = await _restoreSecretSend(context, parameters, options); return _restoreSecretDeserialize(result); } export function _backupSecretSend(context, secretName, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets/{secret-name}/backup{?api%2Dversion}", { "secret-name": secretName, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _backupSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return backupSecretResultDeserializer(result.body); } /** 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. */ export async function backupSecret(context, secretName, options = { requestOptions: {} }) { const result = await _backupSecretSend(context, secretName, options); return _backupSecretDeserialize(result); } export function _recoverDeletedSecretSend(context, secretName, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/deletedsecrets/{secret-name}/recover{?api%2Dversion}", { "secret-name": secretName, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .post(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _recoverDeletedSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return secretBundleDeserializer(result.body); } /** 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. */ export async function recoverDeletedSecret(context, secretName, options = { requestOptions: {} }) { const result = await _recoverDeletedSecretSend(context, secretName, options); return _recoverDeletedSecretDeserialize(result); } export function _purgeDeletedSecretSend(context, secretName, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/deletedsecrets/{secret-name}{?api%2Dversion}", { "secret-name": secretName, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .delete(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _purgeDeletedSecretDeserialize(result) { const expectedStatuses = ["204"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return; } /** 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. */ export async function purgeDeletedSecret(context, secretName, options = { requestOptions: {} }) { const result = await _purgeDeletedSecretSend(context, secretName, options); return _purgeDeletedSecretDeserialize(result); } export function _getDeletedSecretSend(context, secretName, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/deletedsecrets/{secret-name}{?api%2Dversion}", { "secret-name": secretName, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .get(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _getDeletedSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return deletedSecretBundleDeserializer(result.body); } /** The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission. */ export async function getDeletedSecret(context, secretName, options = { requestOptions: {} }) { const result = await _getDeletedSecretSend(context, secretName, options); return _getDeletedSecretDeserialize(result); } export function _getDeletedSecretsSend(context, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/deletedsecrets{?api%2Dversion,maxresults}", { "api%2Dversion": context.apiVersion, maxresults: options === null || options === void 0 ? void 0 : options.maxresults, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .get(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _getDeletedSecretsDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return _deletedSecretListResultDeserializer(result.body); } /** 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. */ export function getDeletedSecrets(context, options = { requestOptions: {} }) { return buildPagedAsyncIterator(context, () => _getDeletedSecretsSend(context, options), _getDeletedSecretsDeserialize, ["200"], { itemName: "value", nextLinkName: "nextLink" }); } export function _getSecretVersionsSend(context, secretName, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets/{secret-name}/versions{?api%2Dversion,maxresults}", { "secret-name": secretName, "api%2Dversion": context.apiVersion, maxresults: options === null || options === void 0 ? void 0 : options.maxresults, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .get(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _getSecretVersionsDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return _secretListResultDeserializer(result.body); } /** 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. */ export function getSecretVersions(context, secretName, options = { requestOptions: {} }) { return buildPagedAsyncIterator(context, () => _getSecretVersionsSend(context, secretName, options), _getSecretVersionsDeserialize, ["200"], { itemName: "value", nextLinkName: "nextLink" }); } export function _getSecretsSend(context, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets{?api%2Dversion,maxresults}", { "api%2Dversion": context.apiVersion, maxresults: options === null || options === void 0 ? void 0 : options.maxresults, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .get(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _getSecretsDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return _secretListResultDeserializer(result.body); } /** 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. */ export function getSecrets(context, options = { requestOptions: {} }) { return buildPagedAsyncIterator(context, () => _getSecretsSend(context, options), _getSecretsDeserialize, ["200"], { itemName: "value", nextLinkName: "nextLink" }); } export function _getSecretSend(context, secretName, secretVersion, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets/{secret-name}/{secret-version}{?api%2Dversion}", { "secret-name": secretName, "secret-version": secretVersion, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .get(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _getSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return secretBundleDeserializer(result.body); } /** The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission. */ export async function getSecret(context, secretName, secretVersion, options = { requestOptions: {} }) { const result = await _getSecretSend(context, secretName, secretVersion, options); return _getSecretDeserialize(result); } export function _updateSecretSend(context, secretName, secretVersion, parameters, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets/{secret-name}/{secret-version}{?api%2Dversion}", { "secret-name": secretName, "secret-version": secretVersion, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .patch(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: secretUpdateParametersSerializer(parameters) })); } export async function _updateSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return secretBundleDeserializer(result.body); } /** 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. */ export async function updateSecret(context, secretName, secretVersion, parameters, options = { requestOptions: {} }) { const result = await _updateSecretSend(context, secretName, secretVersion, parameters, options); return _updateSecretDeserialize(result); } export function _deleteSecretSend(context, secretName, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets/{secret-name}{?api%2Dversion}", { "secret-name": secretName, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .delete(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) })); } export async function _deleteSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return deletedSecretBundleDeserializer(result.body); } /** 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. */ export async function deleteSecret(context, secretName, options = { requestOptions: {} }) { const result = await _deleteSecretSend(context, secretName, options); return _deleteSecretDeserialize(result); } export function _setSecretSend(context, secretName, parameters, options = { requestOptions: {} }) { var _a, _b; const path = expandUrlTemplate("/secrets/{secret-name}{?api%2Dversion}", { "secret-name": secretName, "api%2Dversion": context.apiVersion, }, { allowReserved: (_a = options === null || options === void 0 ? void 0 : options.requestOptions) === null || _a === void 0 ? void 0 : _a.skipUrlEncoding, }); return context .path(path) .put(Object.assign(Object.assign({}, operationOptionsToRequestParameters(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: secretSetParametersSerializer(parameters) })); } export async function _setSecretDeserialize(result) { const expectedStatuses = ["200"]; if (!expectedStatuses.includes(result.status)) { const error = createRestError(result); error.details = keyVaultErrorDeserializer(result.body); throw error; } return secretBundleDeserializer(result.body); } /** 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. */ export async function setSecret(context, secretName, parameters, options = { requestOptions: {} }) { const result = await _setSecretSend(context, secretName, parameters, options); return _setSecretDeserialize(result); } //# sourceMappingURL=operations.js.map