Initial jenkins version

This commit is contained in:
Anup Raj Gopinathan
2025-06-25 13:22:01 +02:00
parent b5849c7fbd
commit 0e4f834409
12 changed files with 5069 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
import * as cdk from 'aws-cdk-lib';
interface BuildParameters {
readonly VPC: string;
readonly TenantID: string;
readonly ClientID: string;
}
interface BuildConfig {
readonly Account: string;
readonly Region: string;
readonly ApplicationName: string;
readonly ApplicationShortName: string;
readonly Environment: string;
readonly Version: string;
readonly Parameters: BuildParameters;
}
const getValidStringValueOfKey = (buildConfig: any, key: string): string => {
if (!buildConfig[key] || buildConfig[key].trim().length === 0) {
throw new Error(key + ' does not exist or is empty in build config');
}
return buildConfig[key];
};
const getValidNumberValueOfKey = (buildConfig: any, key: string): number => {
if (!buildConfig[key]) {
throw new Error(key + ' does not exist or is empty in build config');
}
return buildConfig[key];
};
const getConfig = (app: cdk.App): BuildConfig => {
const env = app.node.tryGetContext('config');
if (!env) {
throw new Error('Context variable missing on CDK command. Pass in as "-c config=env"');
}
const buildConfig: any = app.node.tryGetContext(env);
if (!buildConfig) {
throw new Error('Wrong Context variable passed on CDK command. Pass in as "-c config=env"');
}
const validBuildConfig: BuildConfig = {
Account: getValidStringValueOfKey(buildConfig, 'Account'),
Region: getValidStringValueOfKey(buildConfig, 'Region'),
Version: getValidStringValueOfKey(buildConfig, 'Version'),
ApplicationName: getValidStringValueOfKey(buildConfig, 'ApplicationName'),
ApplicationShortName: getValidStringValueOfKey(buildConfig, 'ApplicationShortName'),
Environment: getValidStringValueOfKey(buildConfig, 'Environment'),
Parameters: {
VPC: getValidStringValueOfKey(buildConfig['Parameters'], 'VPC'),
TenantID: getValidStringValueOfKey(buildConfig['Parameters'], 'TenantID'),
ClientID: getValidStringValueOfKey(buildConfig['Parameters'], 'ClientID')
},
};
return validBuildConfig;
};
export { BuildConfig, BuildParameters, getConfig };