@taimos/cdk-controltower
Version:
[](https://badge.fury.io/js/@taimos%2Fcdk-controltower)
32 lines • 3.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BillingStage = void 0;
const aws_cdk_lib_1 = require("aws-cdk-lib");
const budget_1 = require("../budget");
const cur_1 = require("../cur");
class BillingStage extends aws_cdk_lib_1.Stage {
constructor(scope, props) {
super(scope, 'Billing', {
env: props.orgPrincipalEnv,
...props,
});
if (props.budgetConfig) {
new budget_1.BudgetStack(this, 'billing-budgets', {
env: props.orgPrincipalEnv,
stackName: 'billing-budgets',
accounts: props.accounts,
...props.budgetConfig,
});
}
if (props.costReportConfig) {
new cur_1.CostReportingStack(this, 'billing-report', {
env: props.orgPrincipalEnv,
stackName: 'billing-report',
orgPrincipalEnv: props.orgPrincipalEnv,
...props.costReportConfig,
});
}
}
}
exports.BillingStage = BillingStage;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy1zdGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9iaWxsaW5nLXN0YWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFnRDtBQUdoRCxzQ0FBc0Q7QUFDdEQsZ0NBQWlFO0FBU2pFLE1BQWEsWUFBK0IsU0FBUSxtQkFBSztJQUV2RCxZQUFZLEtBQWdCLEVBQUUsS0FBMkI7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDdEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQzFCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksb0JBQVcsQ0FBSSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQzFDLEdBQUcsRUFBRSxLQUFLLENBQUMsZUFBZTtnQkFDMUIsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixHQUFHLEtBQUssQ0FBQyxZQUFZO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNCLElBQUksd0JBQWtCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUM3QyxHQUFHLEVBQUUsS0FBSyxDQUFDLGVBQWU7Z0JBQzFCLFNBQVMsRUFBRSxnQkFBZ0I7Z0JBQzNCLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtnQkFDdEMsR0FBRyxLQUFLLENBQUMsZ0JBQWdCO2FBQzFCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFFSCxDQUFDO0NBRUY7QUEzQkQsb0NBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhZ2UsIFN0YWdlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENvbnRyb2xUb3dlclByb3BzLCBPcmdQcmluY2lwYWxBd2FyZSB9IGZyb20gJy4uL2F3cy1vcmcnO1xuaW1wb3J0IHsgQnVkZ2V0Q29uZmlnLCBCdWRnZXRTdGFjayB9IGZyb20gJy4uL2J1ZGdldCc7XG5pbXBvcnQgeyBDb3N0UmVwb3J0aW5nQ29uZmlnLCBDb3N0UmVwb3J0aW5nU3RhY2sgfSBmcm9tICcuLi9jdXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdTdGFnZUNvbmZpZzxUIGV4dGVuZHMgc3RyaW5nPiB7XG4gIGJ1ZGdldENvbmZpZz86IEJ1ZGdldENvbmZpZzxUPjtcbiAgY29zdFJlcG9ydENvbmZpZz86IENvc3RSZXBvcnRpbmdDb25maWc7XG59XG5cbmV4cG9ydCB0eXBlIEJpbGxpbmdTdGFnZVByb3BzPFQgZXh0ZW5kcyBzdHJpbmc+ID0gQmlsbGluZ1N0YWdlQ29uZmlnPFQ+ICYgU3RhZ2VQcm9wcyAmIENvbnRyb2xUb3dlclByb3BzPFQ+ICYgT3JnUHJpbmNpcGFsQXdhcmU7XG5cbmV4cG9ydCBjbGFzcyBCaWxsaW5nU3RhZ2U8VCBleHRlbmRzIHN0cmluZz4gZXh0ZW5kcyBTdGFnZSB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEJpbGxpbmdTdGFnZVByb3BzPFQ+KSB7XG4gICAgc3VwZXIoc2NvcGUsICdCaWxsaW5nJywge1xuICAgICAgZW52OiBwcm9wcy5vcmdQcmluY2lwYWxFbnYsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5idWRnZXRDb25maWcpIHtcbiAgICAgIG5ldyBCdWRnZXRTdGFjazxUPih0aGlzLCAnYmlsbGluZy1idWRnZXRzJywge1xuICAgICAgICBlbnY6IHByb3BzLm9yZ1ByaW5jaXBhbEVudixcbiAgICAgICAgc3RhY2tOYW1lOiAnYmlsbGluZy1idWRnZXRzJyxcbiAgICAgICAgYWNjb3VudHM6IHByb3BzLmFjY291bnRzLFxuICAgICAgICAuLi5wcm9wcy5idWRnZXRDb25maWcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmNvc3RSZXBvcnRDb25maWcpIHtcbiAgICAgIG5ldyBDb3N0UmVwb3J0aW5nU3RhY2sodGhpcywgJ2JpbGxpbmctcmVwb3J0Jywge1xuICAgICAgICBlbnY6IHByb3BzLm9yZ1ByaW5jaXBhbEVudixcbiAgICAgICAgc3RhY2tOYW1lOiAnYmlsbGluZy1yZXBvcnQnLFxuICAgICAgICBvcmdQcmluY2lwYWxFbnY6IHByb3BzLm9yZ1ByaW5jaXBhbEVudixcbiAgICAgICAgLi4ucHJvcHMuY29zdFJlcG9ydENvbmZpZyxcbiAgICAgIH0pO1xuICAgIH1cblxuICB9XG5cbn0iXX0=