mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
20 lines
693 B
JavaScript
20 lines
693 B
JavaScript
'use strict';
|
|
|
|
const ServerlessError = require('../../../classes/Error').ServerlessError;
|
|
|
|
function resolveCfImportValue(provider, name, sdkParams = {}) {
|
|
return provider.request('CloudFormation', 'listExports', sdkParams).then(result => {
|
|
const targetExportMeta = result.Exports.find(exportMeta => exportMeta.Name === name);
|
|
if (targetExportMeta) return targetExportMeta.Value;
|
|
if (result.NextToken) {
|
|
return resolveCfImportValue(provider, name, { NextToken: result.NextToken });
|
|
}
|
|
|
|
throw new ServerlessError(
|
|
`Could not resolve Fn::ImportValue with name ${name}. Are you sure this value is exported ?`
|
|
);
|
|
});
|
|
}
|
|
|
|
module.exports = resolveCfImportValue;
|