UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

23 lines 3.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.replaceEnvPlaceholders = replaceEnvPlaceholders; const cx_api_1 = require("@aws-cdk/cx-api"); const mode_1 = require("../plugin/mode"); /** * Replace the {ACCOUNT} and {REGION} placeholders in all strings found in a complex object. */ async function replaceEnvPlaceholders(object, env, sdkProvider) { return cx_api_1.EnvironmentPlaceholders.replaceAsync(object, { accountId: () => Promise.resolve(env.account), region: () => Promise.resolve(env.region), partition: async () => { // There's no good way to get the partition! // We should have had it already, except we don't. // // Best we can do is ask the "base credentials" for this environment for their partition. Cross-partition // AssumeRole'ing will never work anyway, so this answer won't be wrong (it will just be slow!) return (await sdkProvider.baseCredentialsPartition(env, mode_1.Mode.ForReading)) ?? 'aws'; }, }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGxhY2Vob2xkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsd0RBaUJDO0FBekJELDRDQUE0RTtBQUc1RSx5Q0FBc0M7QUFFdEM7O0dBRUc7QUFDSSxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLE1BQVMsRUFDVCxHQUFnQixFQUNoQixXQUF3QjtJQUV4QixPQUFPLGdDQUF1QixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7UUFDbEQsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUM3QyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3pDLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNwQiw0Q0FBNEM7WUFDNUMsa0RBQWtEO1lBQ2xELEVBQUU7WUFDRix5R0FBeUc7WUFDekcsK0ZBQStGO1lBQy9GLE9BQU8sQ0FBQyxNQUFNLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsV0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1FBQ3JGLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBFbnZpcm9ubWVudCwgRW52aXJvbm1lbnRQbGFjZWhvbGRlcnMgfSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0IHsgQnJhbmRlZCB9IGZyb20gJy4uLy4uL3V0aWwvdHlwZS1icmFuZHMnO1xuaW1wb3J0IHR5cGUgeyBTZGtQcm92aWRlciB9IGZyb20gJy4uL2F3cy1hdXRoL3Nkay1wcm92aWRlcic7XG5pbXBvcnQgeyBNb2RlIH0gZnJvbSAnLi4vcGx1Z2luL21vZGUnO1xuXG4vKipcbiAqIFJlcGxhY2UgdGhlIHtBQ0NPVU5UfSBhbmQge1JFR0lPTn0gcGxhY2Vob2xkZXJzIGluIGFsbCBzdHJpbmdzIGZvdW5kIGluIGEgY29tcGxleCBvYmplY3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXBsYWNlRW52UGxhY2Vob2xkZXJzPEEgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+PihcbiAgb2JqZWN0OiBBLFxuICBlbnY6IEVudmlyb25tZW50LFxuICBzZGtQcm92aWRlcjogU2RrUHJvdmlkZXIsXG4pOiBQcm9taXNlPHtbayBpbiBrZXlvZiBBXTogU3RyaW5nV2l0aG91dFBsYWNlaG9sZGVycyB8IHVuZGVmaW5lZH0+IHtcbiAgcmV0dXJuIEVudmlyb25tZW50UGxhY2Vob2xkZXJzLnJlcGxhY2VBc3luYyhvYmplY3QsIHtcbiAgICBhY2NvdW50SWQ6ICgpID0+IFByb21pc2UucmVzb2x2ZShlbnYuYWNjb3VudCksXG4gICAgcmVnaW9uOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoZW52LnJlZ2lvbiksXG4gICAgcGFydGl0aW9uOiBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBUaGVyZSdzIG5vIGdvb2Qgd2F5IHRvIGdldCB0aGUgcGFydGl0aW9uIVxuICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgaGFkIGl0IGFscmVhZHksIGV4Y2VwdCB3ZSBkb24ndC5cbiAgICAgIC8vXG4gICAgICAvLyBCZXN0IHdlIGNhbiBkbyBpcyBhc2sgdGhlIFwiYmFzZSBjcmVkZW50aWFsc1wiIGZvciB0aGlzIGVudmlyb25tZW50IGZvciB0aGVpciBwYXJ0aXRpb24uIENyb3NzLXBhcnRpdGlvblxuICAgICAgLy8gQXNzdW1lUm9sZSdpbmcgd2lsbCBuZXZlciB3b3JrIGFueXdheSwgc28gdGhpcyBhbnN3ZXIgd29uJ3QgYmUgd3JvbmcgKGl0IHdpbGwganVzdCBiZSBzbG93ISlcbiAgICAgIHJldHVybiAoYXdhaXQgc2RrUHJvdmlkZXIuYmFzZUNyZWRlbnRpYWxzUGFydGl0aW9uKGVudiwgTW9kZS5Gb3JSZWFkaW5nKSkgPz8gJ2F3cyc7XG4gICAgfSxcbiAgfSk7XG59XG5cbmV4cG9ydCB0eXBlIFN0cmluZ1dpdGhvdXRQbGFjZWhvbGRlcnMgPSBCcmFuZGVkPHN0cmluZywgJ05vUGxhY2Vob2xkZXJzJz47XG4iXX0=