Script to Check IP Address Attributes

From Observer GigaFlow Support | VIAVI Solutions Inc.
Jump to: navigation, search

Checking whether an ip address has attributes in a category, adding or updating

var utils = Java.type('ros.CROSUtils');
updateAttribute("172.21.21.21","Function2","Kevins PC2");
function updateAttribute(ipaddress,category,newattribute){
 if (actions.allIPs.containsKey(utils.inet_atob(ipaddress))){
    var ip = actions.allIPs.get(utils.inet_atob(ipaddress))
    var categoryid = ip.getCategory(category);
    var atrribs = ip.getAttributes(categoryid)
    if (atrribs.length()>1){
       log.warn("Already have "+ipaddress+" multiple attributes:"+atrribs);
    }else if (atrribs.length()==1){
       log.warn("Already have "+ipaddress+" single attribute:"+atrribs);
         if (atrribs.get(0)===newattribute){
           log.warn("Already have "+ipaddress+" same single attribute:"+atrribs.get(0));
         }else{
           log.warn("Updating "+ipaddress+" single attribute from :"+atrribs.get(0) +" to "+newattribute);
         	ip.removeAttrib(categoryid,atrribs.get(0));
           ip.addAttrib(categoryid,newattribute);
         }
     }else{
 	log.warn("No "+ipaddress+" attributes for category:"+category+" ,adding");
       ip.addAttrib(categoryid,newattribute);
     }
     }else{
   log.warn("No such IP address known"+ipaddress);
   }
}