@cloud-copilot/iam-collect
Version:
Collect IAM information from AWS Accounts
27 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createClientPool = createClientPool;
const ClientPool_js_1 = require("../aws/ClientPool.js");
const AwsConfigClientPool_js_1 = require("../awsConfigClients/AwsConfigClientPool.js");
/**
* Create the appropriate client pool based on data source configuration
*
* @param dataSourceConfig The data source configuration
*
* @returns An instance of the correct AwsClientPool implementation
*/
async function createClientPool(dataSourceConfig) {
if (!dataSourceConfig) {
return ClientPool_js_1.AwsClientPool.defaultInstance;
}
// Default to aws-sdk if no dataSource is specified
const dataSourceType = dataSourceConfig?.name ?? 'aws-sdk';
if (dataSourceType === 'aws-config') {
return new AwsConfigClientPool_js_1.AwsConfigClientPool(dataSourceConfig.config || {});
}
else if (dataSourceType === 'aws-sdk') {
return ClientPool_js_1.AwsClientPool.defaultInstance;
}
throw new Error(`Unsupported data source type: ${dataSourceType}`);
}
//# sourceMappingURL=dataSource.js.map