function systemManagerSyncSecurityHub()

in index.js [35:76]


function systemManagerSyncSecurityHub(resolve, reject) {
    ssm.listComplianceItems(listItemsParams, function (err, complianceItems) {
        if (err) {
            console.log(err, err.stack);
            reject(err);
        }

        if (complianceItems['ComplianceItems'][0] != undefined) {
            sts.getCallerIdentity({}, function (err, stsData) {
                if (err) {
                    console.log(err);
                    reject(err);
                    return;
                }
                var missingPatches = getMissingPatches(complianceItems);

                var findings = [];
                Object.values(missingPatches).forEach(function (singleComplianceItemFinding) {
                    findings.push(getSingleComplianceItemFinding(singleComplianceItemFinding, stsData));
                });
                console.log(JSON.stringify(findings));

                securityhub.batchImportFindings({
                    'Findings': findings
                }, function (err, secHubData) {
                    if (err) {
                        reject(err);
                        return;
                    }
                    else {
                        resolve(secHubData);
                    }
                });

            });
        } else {
            console.log("There is no instance with missing patches and compliance severity set as critical")
            return;
        }

    });
}