mirror of
https://github.com/serverless/serverless.git
synced 2025-12-08 19:46:03 +00:00
25 lines
761 B
JavaScript
25 lines
761 B
JavaScript
import ServerlessError from '../../../serverless-error.js'
|
|
|
|
async 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 ?`,
|
|
'CF_IMPORT_RESOLUTION',
|
|
)
|
|
})
|
|
}
|
|
|
|
export default resolveCfImportValue
|