deep-package-manager
Version:
DEEP Package Manager
86 lines (70 loc) • 1.6 kB
JavaScript
/**
* Created by AlexanderC on 11/24/15.
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ACMDriver = undefined;
var _ACMService = require('../Service/ACMService');
var _AbstractDriver = require('./AbstractDriver');
class ACMDriver extends _AbstractDriver.AbstractDriver {
/**
* @param {*} args
*/
constructor(...args) {
super(...args);
}
/**
* @returns {String[]}
*/
static get AVAILABLE_REGIONS() {
return _ACMService.ACMService.AVAILABLE_REGIONS;
}
/**
* @param {Function} cb
*/
list(cb) {
this._listCertificates(cb);
}
/**
* @param {Function} cb
* @param {String|null} nextToken
* @private
*/
_listCertificates(cb, nextToken = null) {
let payload = {
MaxItems: ACMDriver.MAX_ITEMS
};
if (nextToken) {
payload.NextToken = nextToken;
}
this._awsService.listCertificates(payload, (error, data) => {
if (error) {
cb(error);
return;
}
for (let i in data.CertificateSummaryList) {
if (!data.CertificateSummaryList.hasOwnProperty(i)) {
continue;
}
let certData = data.CertificateSummaryList[i];
let arn = certData.CertificateArn;
let name = certData.DomainName;
this._checkPushStack(name, arn, certData);
}
if (data.NextToken) {
this._listCertificates(cb, data.NextToken);
} else {
cb(null);
}
});
}
/**
* @returns {Number}
*/
static get MAX_ITEMS() {
return 100;
}
}
exports.ACMDriver = ACMDriver;