cloud-report
Version:
Collects and analyzes cloud resources
24 lines (23 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const AWS = require("aws-sdk");
const cache_1 = require("../cache");
class AWSClientsProvider {
static getClient(serviceName, region, session = "default") {
const sessionCache = cache_1.CacheUtil.get(session, {});
sessionCache.clients = sessionCache.clients || {};
if (!sessionCache.clients[serviceName] || !sessionCache.clients[serviceName][region]) {
sessionCache.clients[serviceName] = sessionCache.clients[serviceName] || {};
sessionCache.clients[serviceName][region] = new AWS[serviceName]({
credentials: sessionCache.credentials, region,
});
}
return sessionCache.clients[serviceName][region];
}
static setCredentials(credentials, session = "default") {
const sessionCache = cache_1.CacheUtil.get(session, {});
sessionCache.credentials = credentials;
cache_1.CacheUtil.put(session, sessionCache);
}
}
exports.AWSClientsProvider = AWSClientsProvider;