sparse-intern-71089
11/15/2019, 5:29 PMbillowy-laptop-45963
11/15/2019, 9:19 PMtype AwsData = {
region: string,
accountId: string,
}
type FnSubCallback = (data: AwsData) => string
function fnSub(fn: FnSubCallback, provider?: aws.Provider) {
const
opts = {provider: provider},
callerId = aws.getCallerIdentity(opts),
region = aws.getRegion({}, opts)
return pulumi
.all([callerId, region])
.apply(
([callerId, region]) => {
const data: AwsData = {
region: region.name,
accountId: callerId.accountId,
}
return fn(data)
}
)
}
Used like:
const myarn = fnSub(AWS => `arn:aws:ssm:${AWS.region}:${AWS.accountId}:parameter${SsmParameterPrefix}*`
billowy-laptop-45963
11/15/2019, 9:27 PMbillowy-laptop-45963
11/15/2019, 9:27 PMbillowy-laptop-45963
11/15/2019, 9:35 PMAWS_SDK_LOAD_CONFIG=true pulumi up