ssm-params
Version:
Obtain from AWS SSM Parameter Store
32 lines (31 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllParameters = void 0;
const aws_sdk_1 = require("aws-sdk");
async function getAllParameters(params) {
const ssm = new aws_sdk_1.SSM();
const { Names } = params;
if (Names.length <= 10) {
return ssm.getParameters(params).promise();
}
/*
* Call getParameters in parallel for many names.
*/
const { WithDecryption } = params;
const promises = [];
for (let i = 0; i < Names.length; i += 10) {
promises.push(ssm.getParameters({ Names: Names.slice(i, i + 10), WithDecryption }).promise());
}
return Promise.all(promises).then(results => {
const mergedData = {
Parameters: [],
InvalidParameters: [],
};
results.forEach(data => {
mergedData.Parameters.push(...(data.Parameters || []));
mergedData.InvalidParameters.push(...(data.InvalidParameters || []));
});
return mergedData;
});
}
exports.getAllParameters = getAllParameters;