UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

24 lines (23 loc) 1.09 kB
"use strict"; 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;