in blogs/awsconfig-docdb/lib/functions/instances-homogeneous-rule/index.js [97:128]
async function evaluateChangeNotificationCompliance(configurationItem, dbClusterInstances) {
if (dbClusterInstances.length === 1) {
return 'COMPLIANT';
}
checkDefined(configurationItem, 'configurationItem');
checkDefined(configurationItem.configuration, 'configurationItem.configuration');
const newDBInstanceClass = configurationItem.configuration.pendingModifiedValues.dBInstanceClass;
let sameDBInstanceClass = true;
if (newDBInstanceClass) {
for (let i = 0; i < dbClusterInstances.length; i++) {
const dbInstance = dbClusterInstances[i];
// skip instance being modified
if(dbInstance.DBInstanceIdentifier === configurationItem.configuration.dBInstanceIdentifier) {
continue;
}
if (newDBInstanceClass !== dbInstance.DBInstanceClass) {
sameDBInstanceClass = false;
break;
}
}
} else {
// just check all db instance classes are equal
sameDBInstanceClass = dbClusterInstances.every(i => i.DBInstanceClass === dbClusterInstances[0].DBInstanceClass);
}
return sameDBInstanceClass ? 'COMPLIANT' : 'NON_COMPLIANT';
}