@azure/keyvault-certificates
Version:
Isomorphic client library for Azure KeyVault's certificates.
767 lines • 51.5 kB
JavaScript
"use strict";
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
Object.defineProperty(exports, "__esModule", { value: true });
exports._recoverDeletedCertificateSend = _recoverDeletedCertificateSend;
exports._recoverDeletedCertificateDeserialize = _recoverDeletedCertificateDeserialize;
exports.recoverDeletedCertificate = recoverDeletedCertificate;
exports._purgeDeletedCertificateSend = _purgeDeletedCertificateSend;
exports._purgeDeletedCertificateDeserialize = _purgeDeletedCertificateDeserialize;
exports.purgeDeletedCertificate = purgeDeletedCertificate;
exports._getDeletedCertificateSend = _getDeletedCertificateSend;
exports._getDeletedCertificateDeserialize = _getDeletedCertificateDeserialize;
exports.getDeletedCertificate = getDeletedCertificate;
exports._getDeletedCertificatesSend = _getDeletedCertificatesSend;
exports._getDeletedCertificatesDeserialize = _getDeletedCertificatesDeserialize;
exports.getDeletedCertificates = getDeletedCertificates;
exports._restoreCertificateSend = _restoreCertificateSend;
exports._restoreCertificateDeserialize = _restoreCertificateDeserialize;
exports.restoreCertificate = restoreCertificate;
exports._backupCertificateSend = _backupCertificateSend;
exports._backupCertificateDeserialize = _backupCertificateDeserialize;
exports.backupCertificate = backupCertificate;
exports._mergeCertificateSend = _mergeCertificateSend;
exports._mergeCertificateDeserialize = _mergeCertificateDeserialize;
exports.mergeCertificate = mergeCertificate;
exports._deleteCertificateOperationSend = _deleteCertificateOperationSend;
exports._deleteCertificateOperationDeserialize = _deleteCertificateOperationDeserialize;
exports.deleteCertificateOperation = deleteCertificateOperation;
exports._getCertificateOperationSend = _getCertificateOperationSend;
exports._getCertificateOperationDeserialize = _getCertificateOperationDeserialize;
exports.getCertificateOperation = getCertificateOperation;
exports._updateCertificateOperationSend = _updateCertificateOperationSend;
exports._updateCertificateOperationDeserialize = _updateCertificateOperationDeserialize;
exports.updateCertificateOperation = updateCertificateOperation;
exports._getCertificateSend = _getCertificateSend;
exports._getCertificateDeserialize = _getCertificateDeserialize;
exports.getCertificate = getCertificate;
exports._updateCertificateSend = _updateCertificateSend;
exports._updateCertificateDeserialize = _updateCertificateDeserialize;
exports.updateCertificate = updateCertificate;
exports._updateCertificatePolicySend = _updateCertificatePolicySend;
exports._updateCertificatePolicyDeserialize = _updateCertificatePolicyDeserialize;
exports.updateCertificatePolicy = updateCertificatePolicy;
exports._getCertificatePolicySend = _getCertificatePolicySend;
exports._getCertificatePolicyDeserialize = _getCertificatePolicyDeserialize;
exports.getCertificatePolicy = getCertificatePolicy;
exports._getCertificateVersionsSend = _getCertificateVersionsSend;
exports._getCertificateVersionsDeserialize = _getCertificateVersionsDeserialize;
exports.getCertificateVersions = getCertificateVersions;
exports._importCertificateSend = _importCertificateSend;
exports._importCertificateDeserialize = _importCertificateDeserialize;
exports.importCertificate = importCertificate;
exports._createCertificateSend = _createCertificateSend;
exports._createCertificateDeserialize = _createCertificateDeserialize;
exports.createCertificate = createCertificate;
exports._deleteCertificateIssuerSend = _deleteCertificateIssuerSend;
exports._deleteCertificateIssuerDeserialize = _deleteCertificateIssuerDeserialize;
exports.deleteCertificateIssuer = deleteCertificateIssuer;
exports._getCertificateIssuerSend = _getCertificateIssuerSend;
exports._getCertificateIssuerDeserialize = _getCertificateIssuerDeserialize;
exports.getCertificateIssuer = getCertificateIssuer;
exports._updateCertificateIssuerSend = _updateCertificateIssuerSend;
exports._updateCertificateIssuerDeserialize = _updateCertificateIssuerDeserialize;
exports.updateCertificateIssuer = updateCertificateIssuer;
exports._setCertificateIssuerSend = _setCertificateIssuerSend;
exports._setCertificateIssuerDeserialize = _setCertificateIssuerDeserialize;
exports.setCertificateIssuer = setCertificateIssuer;
exports._getCertificateIssuersSend = _getCertificateIssuersSend;
exports._getCertificateIssuersDeserialize = _getCertificateIssuersDeserialize;
exports.getCertificateIssuers = getCertificateIssuers;
exports._deleteCertificateContactsSend = _deleteCertificateContactsSend;
exports._deleteCertificateContactsDeserialize = _deleteCertificateContactsDeserialize;
exports.deleteCertificateContacts = deleteCertificateContacts;
exports._getCertificateContactsSend = _getCertificateContactsSend;
exports._getCertificateContactsDeserialize = _getCertificateContactsDeserialize;
exports.getCertificateContacts = getCertificateContacts;
exports._setCertificateContactsSend = _setCertificateContactsSend;
exports._setCertificateContactsDeserialize = _setCertificateContactsDeserialize;
exports.setCertificateContacts = setCertificateContacts;
exports._deleteCertificateSend = _deleteCertificateSend;
exports._deleteCertificateDeserialize = _deleteCertificateDeserialize;
exports.deleteCertificate = deleteCertificate;
exports._getCertificatesSend = _getCertificatesSend;
exports._getCertificatesDeserialize = _getCertificatesDeserialize;
exports.getCertificates = getCertificates;
const models_js_1 = require("../models/models.js");
const pagingHelpers_js_1 = require("../static-helpers/pagingHelpers.js");
const urlTemplate_js_1 = require("../static-helpers/urlTemplate.js");
const core_client_1 = require("@azure-rest/core-client");
function _recoverDeletedCertificateSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/deletedcertificates/{certificate-name}/recover{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _recoverDeletedCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateBundleDeserializer)(result.body);
}
/** 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. */
async function recoverDeletedCertificate(context, certificateName, options = { requestOptions: {} }) {
const result = await _recoverDeletedCertificateSend(context, certificateName, options);
return _recoverDeletedCertificateDeserialize(result);
}
function _purgeDeletedCertificateSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/deletedcertificates/{certificate-name}{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _purgeDeletedCertificateDeserialize(result) {
const expectedStatuses = ["204"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return;
}
/** 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. */
async function purgeDeletedCertificate(context, certificateName, options = { requestOptions: {} }) {
const result = await _purgeDeletedCertificateSend(context, certificateName, options);
return _purgeDeletedCertificateDeserialize(result);
}
function _getDeletedCertificateSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/deletedcertificates/{certificate-name}{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getDeletedCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.deletedCertificateBundleDeserializer)(result.body);
}
/** 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. */
async function getDeletedCertificate(context, certificateName, options = { requestOptions: {} }) {
const result = await _getDeletedCertificateSend(context, certificateName, options);
return _getDeletedCertificateDeserialize(result);
}
function _getDeletedCertificatesSend(context, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/deletedcertificates{?api%2Dversion,maxresults,includePending}", {
"api%2Dversion": context.apiVersion,
maxresults: options === null || options === void 0 ? void 0 : options.maxresults,
includePending: options === null || options === void 0 ? void 0 : options.includePending,
}, {
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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getDeletedCertificatesDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1._deletedCertificateListResultDeserializer)(result.body);
}
/** 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. */
function getDeletedCertificates(context, options = { requestOptions: {} }) {
return (0, pagingHelpers_js_1.buildPagedAsyncIterator)(context, () => _getDeletedCertificatesSend(context, options), _getDeletedCertificatesDeserialize, ["200"], { itemName: "value", nextLinkName: "nextLink" });
}
function _restoreCertificateSend(context, parameters, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateRestoreParametersSerializer)(parameters) }));
}
async function _restoreCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateBundleDeserializer)(result.body);
}
/** Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission. */
async function restoreCertificate(context, parameters, options = { requestOptions: {} }) {
const result = await _restoreCertificateSend(context, parameters, options);
return _restoreCertificateDeserialize(result);
}
function _backupCertificateSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/backup{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _backupCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.backupCertificateResultDeserializer)(result.body);
}
/** 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. */
async function backupCertificate(context, certificateName, options = { requestOptions: {} }) {
const result = await _backupCertificateSend(context, certificateName, options);
return _backupCertificateDeserialize(result);
}
function _mergeCertificateSend(context, certificateName, parameters, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/pending/merge{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateMergeParametersSerializer)(parameters) }));
}
async function _mergeCertificateDeserialize(result) {
const expectedStatuses = ["201"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateBundleDeserializer)(result.body);
}
/** 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. */
async function mergeCertificate(context, certificateName, parameters, options = { requestOptions: {} }) {
const result = await _mergeCertificateSend(context, certificateName, parameters, options);
return _mergeCertificateDeserialize(result);
}
function _deleteCertificateOperationSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/pending{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _deleteCertificateOperationDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateOperationDeserializer)(result.body);
}
/** 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. */
async function deleteCertificateOperation(context, certificateName, options = { requestOptions: {} }) {
const result = await _deleteCertificateOperationSend(context, certificateName, options);
return _deleteCertificateOperationDeserialize(result);
}
function _getCertificateOperationSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/pending{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getCertificateOperationDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateOperationDeserializer)(result.body);
}
/** Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission. */
async function getCertificateOperation(context, certificateName, options = { requestOptions: {} }) {
const result = await _getCertificateOperationSend(context, certificateName, options);
return _getCertificateOperationDeserialize(result);
}
function _updateCertificateOperationSend(context, certificateName, certificateOperation, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/pending{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateOperationUpdateParameterSerializer)(certificateOperation) }));
}
async function _updateCertificateOperationDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateOperationDeserializer)(result.body);
}
/** Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission. */
async function updateCertificateOperation(context, certificateName, certificateOperation, options = { requestOptions: {} }) {
const result = await _updateCertificateOperationSend(context, certificateName, certificateOperation, options);
return _updateCertificateOperationDeserialize(result);
}
function _getCertificateSend(context, certificateName, certificateVersion, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/{certificate-version}{?api%2Dversion}", {
"certificate-name": certificateName,
"certificate-version": certificateVersion,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateBundleDeserializer)(result.body);
}
/** Gets information about a specific certificate. This operation requires the certificates/get permission. */
async function getCertificate(context, certificateName, certificateVersion, options = { requestOptions: {} }) {
const result = await _getCertificateSend(context, certificateName, certificateVersion, options);
return _getCertificateDeserialize(result);
}
function _updateCertificateSend(context, certificateName, certificateVersion, parameters, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/{certificate-version}{?api%2Dversion}", {
"certificate-name": certificateName,
"certificate-version": certificateVersion,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateUpdateParametersSerializer)(parameters) }));
}
async function _updateCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateBundleDeserializer)(result.body);
}
/** 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. */
async function updateCertificate(context, certificateName, certificateVersion, parameters, options = { requestOptions: {} }) {
const result = await _updateCertificateSend(context, certificateName, certificateVersion, parameters, options);
return _updateCertificateDeserialize(result);
}
function _updateCertificatePolicySend(context, certificateName, certificatePolicy, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/policy{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificatePolicySerializer)(certificatePolicy) }));
}
async function _updateCertificatePolicyDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificatePolicyDeserializer)(result.body);
}
/** Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission. */
async function updateCertificatePolicy(context, certificateName, certificatePolicy, options = { requestOptions: {} }) {
const result = await _updateCertificatePolicySend(context, certificateName, certificatePolicy, options);
return _updateCertificatePolicyDeserialize(result);
}
function _getCertificatePolicySend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/policy{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getCertificatePolicyDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificatePolicyDeserializer)(result.body);
}
/** The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission. */
async function getCertificatePolicy(context, certificateName, options = { requestOptions: {} }) {
const result = await _getCertificatePolicySend(context, certificateName, options);
return _getCertificatePolicyDeserialize(result);
}
function _getCertificateVersionsSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/versions{?api%2Dversion,maxresults}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getCertificateVersionsDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1._certificateListResultDeserializer)(result.body);
}
/** The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission. */
function getCertificateVersions(context, certificateName, options = { requestOptions: {} }) {
return (0, pagingHelpers_js_1.buildPagedAsyncIterator)(context, () => _getCertificateVersionsSend(context, certificateName, options), _getCertificateVersionsDeserialize, ["200"], { itemName: "value", nextLinkName: "nextLink" });
}
function _importCertificateSend(context, certificateName, parameters, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/import{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateImportParametersSerializer)(parameters) }));
}
async function _importCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateBundleDeserializer)(result.body);
}
/** Imports an existing valid certificate, containing a private key, into Azure Key Vault. This operation requires the certificates/import permission. 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. Key Vault will only accept a key in PKCS#8 format. */
async function importCertificate(context, certificateName, parameters, options = { requestOptions: {} }) {
const result = await _importCertificateSend(context, certificateName, parameters, options);
return _importCertificateDeserialize(result);
}
function _createCertificateSend(context, certificateName, parameters, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}/create{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateCreateParametersSerializer)(parameters) }));
}
async function _createCertificateDeserialize(result) {
const expectedStatuses = ["202"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.certificateOperationDeserializer)(result.body);
}
/** If this is the first version, the certificate resource is created. This operation requires the certificates/create permission. */
async function createCertificate(context, certificateName, parameters, options = { requestOptions: {} }) {
const result = await _createCertificateSend(context, certificateName, parameters, options);
return _createCertificateDeserialize(result);
}
function _deleteCertificateIssuerSend(context, issuerName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/issuers/{issuer-name}{?api%2Dversion}", {
"issuer-name": issuerName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _deleteCertificateIssuerDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.issuerBundleDeserializer)(result.body);
}
/** The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission. */
async function deleteCertificateIssuer(context, issuerName, options = { requestOptions: {} }) {
const result = await _deleteCertificateIssuerSend(context, issuerName, options);
return _deleteCertificateIssuerDeserialize(result);
}
function _getCertificateIssuerSend(context, issuerName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/issuers/{issuer-name}{?api%2Dversion}", {
"issuer-name": issuerName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getCertificateIssuerDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.issuerBundleDeserializer)(result.body);
}
/** The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission. */
async function getCertificateIssuer(context, issuerName, options = { requestOptions: {} }) {
const result = await _getCertificateIssuerSend(context, issuerName, options);
return _getCertificateIssuerDeserialize(result);
}
function _updateCertificateIssuerSend(context, issuerName, parameter, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/issuers/{issuer-name}{?api%2Dversion}", {
"issuer-name": issuerName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateIssuerUpdateParametersSerializer)(parameter) }));
}
async function _updateCertificateIssuerDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.issuerBundleDeserializer)(result.body);
}
/** The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission. */
async function updateCertificateIssuer(context, issuerName, parameter, options = { requestOptions: {} }) {
const result = await _updateCertificateIssuerSend(context, issuerName, parameter, options);
return _updateCertificateIssuerDeserialize(result);
}
function _setCertificateIssuerSend(context, issuerName, parameter, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/issuers/{issuer-name}{?api%2Dversion}", {
"issuer-name": issuerName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.certificateIssuerSetParametersSerializer)(parameter) }));
}
async function _setCertificateIssuerDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.issuerBundleDeserializer)(result.body);
}
/** The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission. */
async function setCertificateIssuer(context, issuerName, parameter, options = { requestOptions: {} }) {
const result = await _setCertificateIssuerSend(context, issuerName, parameter, options);
return _setCertificateIssuerDeserialize(result);
}
function _getCertificateIssuersSend(context, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/issuers{?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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getCertificateIssuersDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1._certificateIssuerListResultDeserializer)(result.body);
}
/** The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission. */
function getCertificateIssuers(context, options = { requestOptions: {} }) {
return (0, pagingHelpers_js_1.buildPagedAsyncIterator)(context, () => _getCertificateIssuersSend(context, options), _getCertificateIssuersDeserialize, ["200"], { itemName: "value", nextLinkName: "nextLink" });
}
function _deleteCertificateContactsSend(context, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/contacts{?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)
.delete(Object.assign(Object.assign({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _deleteCertificateContactsDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.contactsDeserializer)(result.body);
}
/** Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission. */
async function deleteCertificateContacts(context, options = { requestOptions: {} }) {
const result = await _deleteCertificateContactsSend(context, options);
return _deleteCertificateContactsDeserialize(result);
}
function _getCertificateContactsSend(context, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/contacts{?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)
.get(Object.assign(Object.assign({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _getCertificateContactsDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.contactsDeserializer)(result.body);
}
/** The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission. */
async function getCertificateContacts(context, options = { requestOptions: {} }) {
const result = await _getCertificateContactsSend(context, options);
return _getCertificateContactsDeserialize(result);
}
function _setCertificateContactsSend(context, contacts, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/contacts{?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)
.put(Object.assign(Object.assign({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { contentType: "application/json", headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers), body: (0, models_js_1.contactsSerializer)(contacts) }));
}
async function _setCertificateContactsDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.contactsDeserializer)(result.body);
}
/** Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission. */
async function setCertificateContacts(context, contacts, options = { requestOptions: {} }) {
const result = await _setCertificateContactsSend(context, contacts, options);
return _setCertificateContactsDeserialize(result);
}
function _deleteCertificateSend(context, certificateName, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates/{certificate-name}{?api%2Dversion}", {
"certificate-name": certificateName,
"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({}, (0, core_client_1.operationOptionsToRequestParameters)(options)), { headers: Object.assign({ accept: "application/json" }, (_b = options.requestOptions) === null || _b === void 0 ? void 0 : _b.headers) }));
}
async function _deleteCertificateDeserialize(result) {
const expectedStatuses = ["200"];
if (!expectedStatuses.includes(result.status)) {
const error = (0, core_client_1.createRestError)(result);
error.details = (0, models_js_1.keyVaultErrorDeserializer)(result.body);
throw error;
}
return (0, models_js_1.deletedCertificateBundleDeserializer)(result.body);
}
/** 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. */
async function deleteCertificate(context, certificateName, options = { requestOptions: {} }) {
const result = await _deleteCertificateSend(context, certificateName, options);
return _deleteCertificateDeserialize(result);
}
function _getCertificatesSend(context, options = { requestOptions: {} }) {
var _a, _b;
const path = (0, urlTemplate_js_1.expandUrlTemplate)("/certificates{?api%2Dversion,maxresults,includePending}", {
"api%2Dversion": context.apiVersion,
maxresults: options === null || options === void 0 ?