in rules/preview-rule/IAC_misconfiguration_proactive_plugin/lib/index.js [48:104]
function runStep() {
var _a, _b;
return __awaiter(this, void 0, void 0, function* () {
const params = (0, params_1.getParams)();
step.info(`PIPELINE_ID=${params.pipelineID}`);
step.info(`PIPELINE_NAME=${params.pipelineName}`);
step.info(`BUILD_NUMBER=${params.buildNumber}`);
step.info(`WORK_SPACE=${params.workSpace}`);
step.info(`PROJECT_DIR=${params.projectDir}`);
step.info(`BUILD_JOB_ID=${params.buildJobID}`);
step.info(`Init cloudconfig proactive...`);
// console.log('process.env', process.env);
const stackPath = process_1.default.env["StackPath"];
step.info(`stackPath=${stackPath}`);
const regionId = process_1.default.env["RegionId"];
step.info(`regionId=${regionId}`);
const enableEvaluate = process_1.default.env["EnableEvaluate"];
step.info(`enableEvaluate=${enableEvaluate}`);
const ak = process_1.default.env["AccessKey"];
const sk = process_1.default.env["AccessSecret"];
const sourceCode = yield getCodeFileContent(stackPath);
console.log(`sourceCode=${sourceCode}`);
let apiConfig = newClientConfig(ak, sk);
const stackRespone = yield getPreviewStack(apiConfig, sourceCode);
step.info(`stackProperties response=${stackRespone}`);
for (const resource of stackRespone) {
const resourceJson = JSON.stringify(resource);
step.info(`one begin scan resourceJson =${resourceJson}`);
let resourceTypeSpec = resource.acsResourceType || '';
step.info(`one resourceTypeSpec =${resourceTypeSpec}`);
if (resourceTypeSpec === '') {
resourceTypeSpec = (0, util_1.getResourceType)(resource.resourceType || '');
step.info(`one resourceTypeSpec by ros type =${resourceTypeSpec}`);
}
const proactiveRules = (0, util_1.getProactiveRules)(resourceTypeSpec);
step.info(`one proactiveRules =${proactiveRules}`);
const resourceProperties = resource.properties || '';
const resourcePropertiesJson = JSON.stringify(resourceProperties);
step.info(`one resourceProperties =${resourcePropertiesJson}`);
const result = yield evaluateOneResourcePreRules(apiConfig, resourceTypeSpec, proactiveRules, resourcePropertiesJson);
step.info(`one evaluatePreRules =${JSON.stringify(result)}`);
(_b = (_a = result.body) === null || _a === void 0 ? void 0 : _a.resourceEvaluations) === null || _b === void 0 ? void 0 : _b.forEach(element => {
step.info(`one evaluatePreRules element =${JSON.stringify(element)}`);
let rules = element.rules || [];
rules.forEach(rule => {
let identifier = rule.identifier;
let complianceType = rule.complianceType;
let annotation = rule.annotation;
if (complianceType === 'NON_COMPLIANT') {
step.error(`evaluatePreRules noncompliant; reason:" ${identifier},${JSON.stringify(annotation)} `);
return;
}
});
});
}
});
}