Files
personal_site/frontend/node_modules/@aws-cdk/cdk-assets-lib/lib/private/placeholders.js
T

34 lines
3.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.replaceAwsPlaceholders = replaceAwsPlaceholders;
const cloud_assembly_api_1 = require("@aws-cdk/cloud-assembly-api");
/**
* Replace the {ACCOUNT} and {REGION} placeholders in all strings found in a complex object.
*
* Duplicated between cdk-assets and aws-cdk CLI because we don't have a good single place to put it
* (they're nominally independent tools).
*/
async function replaceAwsPlaceholders(object, aws) {
let partition = async () => {
const p = await aws.discoverPartition();
partition = () => Promise.resolve(p);
return p;
};
let account = async () => {
const a = await aws.discoverCurrentAccount();
account = () => Promise.resolve(a);
return a;
};
return cloud_assembly_api_1.EnvironmentPlaceholders.replaceAsync(object, {
async region() {
return object.region ?? aws.discoverDefaultRegion();
},
async accountId() {
return (await account()).accountId;
},
async partition() {
return partition();
},
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGxhY2Vob2xkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esd0RBMkJDO0FBcENELG9FQUFzRTtBQUd0RTs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsTUFBUyxFQUNULEdBQVM7SUFFVCxJQUFJLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRTtRQUN6QixNQUFNLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hDLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDO0lBRUYsSUFBSSxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDdkIsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM3QyxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQztJQUVGLE9BQU8sNENBQXVCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUNsRCxLQUFLLENBQUMsTUFBTTtZQUNWLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsS0FBSyxDQUFDLFNBQVM7WUFDYixPQUFPLENBQUMsTUFBTSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsS0FBSyxDQUFDLFNBQVM7WUFDYixPQUFPLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQbGFjZWhvbGRlcnMgfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1hcGknO1xuaW1wb3J0IHR5cGUgeyBJQXdzIH0gZnJvbSAnLi4vYXdzJztcblxuLyoqXG4gKiBSZXBsYWNlIHRoZSB7QUNDT1VOVH0gYW5kIHtSRUdJT059IHBsYWNlaG9sZGVycyBpbiBhbGwgc3RyaW5ncyBmb3VuZCBpbiBhIGNvbXBsZXggb2JqZWN0LlxuICpcbiAqIER1cGxpY2F0ZWQgYmV0d2VlbiBjZGstYXNzZXRzIGFuZCBhd3MtY2RrIENMSSBiZWNhdXNlIHdlIGRvbid0IGhhdmUgYSBnb29kIHNpbmdsZSBwbGFjZSB0byBwdXQgaXRcbiAqICh0aGV5J3JlIG5vbWluYWxseSBpbmRlcGVuZGVudCB0b29scykuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXBsYWNlQXdzUGxhY2Vob2xkZXJzPEEgZXh0ZW5kcyB7IHJlZ2lvbj86IHN0cmluZyB9PihcbiAgb2JqZWN0OiBBLFxuICBhd3M6IElBd3MsXG4pOiBQcm9taXNlPEE+IHtcbiAgbGV0IHBhcnRpdGlvbiA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwID0gYXdhaXQgYXdzLmRpc2NvdmVyUGFydGl0aW9uKCk7XG4gICAgcGFydGl0aW9uID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHApO1xuICAgIHJldHVybiBwO1xuICB9O1xuXG4gIGxldCBhY2NvdW50ID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGEgPSBhd2FpdCBhd3MuZGlzY292ZXJDdXJyZW50QWNjb3VudCgpO1xuICAgIGFjY291bnQgPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoYSk7XG4gICAgcmV0dXJuIGE7XG4gIH07XG5cbiAgcmV0dXJuIEVudmlyb25tZW50UGxhY2Vob2xkZXJzLnJlcGxhY2VBc3luYyhvYmplY3QsIHtcbiAgICBhc3luYyByZWdpb24oKSB7XG4gICAgICByZXR1cm4gb2JqZWN0LnJlZ2lvbiA/PyBhd3MuZGlzY292ZXJEZWZhdWx0UmVnaW9uKCk7XG4gICAgfSxcbiAgICBhc3luYyBhY2NvdW50SWQoKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IGFjY291bnQoKSkuYWNjb3VudElkO1xuICAgIH0sXG4gICAgYXN5bmMgcGFydGl0aW9uKCkge1xuICAgICAgcmV0dXJuIHBhcnRpdGlvbigpO1xuICAgIH0sXG4gIH0pO1xufVxuIl19