def servicegroup_exists(client, module): log('Checking if service group exists') try: servicegroup.get(client, module.params['servicegroupname']) log('Servicegroup exists') return True except nitro_exception: log('Servicegroup doesn not exist') return False
def diff(client, module, servicegroup_proxy): try: servicegroup_inst = servicegroup.get(client, module.params['servicegroupname']) except nitro_exception: return False diff_object = servicegroup_proxy.diff_object(servicegroup_inst) return diff_object
def _create_service_group(self, grpname, service_type="HTTP"): try: svc_grp = servicegroup.get(self.ns_session, grpname) if (svc_grp.servicegroupname == grpname): logger.info("Service group %s already configured " % grpname) return except nitro_exception: pass svc_grp = servicegroup() svc_grp.servicegroupname = grpname svc_grp.servicetype = service_type servicegroup.add(self.ns_session, svc_grp)
def servicegroup_identical(client, module, servicegroup_proxy): log('Checking if service group is identical') try: servicegroup_inst = servicegroup.get(client, module.params['servicegroupname']) except nitro_exception: return False if servicegroup_proxy.has_equal_attributes(servicegroup_inst): return True else: return False
def _create_service_group(self, grpname): try: svc_grp = servicegroup.get(self.ns_session, grpname) if (svc_grp.servicegroupname == grpname): logger.info("Service group %s already configured " % grpname) return except nitro_exception as e: pass svc_grp = servicegroup() svc_grp.servicegroupname = grpname svc_grp.servicetype = "HTTP" servicegroup.add(self.ns_session, svc_grp)
def main(cls, args_): if(len(args_) < 3): print("Usage: run.bat <ip> <username> <password>") return config = basic_lbvServer() config.ip = args_[1] config.username = args_[2] config.password = args_[3] try : #Create an instance of the nitro_service class to connect to the appliance ns_session = nitro_service("10.217.242.90","HTTP") ns_session.set_credential("nsroot", config.password) ns_session.timeout = 310 #Log on to the appliance using your credentials ns_session.login() #Enable the load balancing feature. features_to_be_enabled = "lb" ns_session.enable_features(features_to_be_enabled) #Create an instance of the server class server_obj = server() #Create an instance of the service class service_obj = service() #Create an instance of the virtual server class new_lbvserver_obj = lbvserver() #Create a new virtual server new_lbvserver_obj.name = "MyFirstLbVServer" new_lbvserver_obj.ipv46 = "10.102.29.88" new_lbvserver_obj.servicetype = "HTTP" new_lbvserver_obj.port = 80 new_lbvserver_obj.lbmethod = "ROUNDROBIN" #lbvserver.delete(ns_session, new_lbvserver_obj.name) #lbvserver.add(ns_session, new_lbvserver_obj) #Retrieve the details of the virtual server new_lbvserver_obj = lbvserver.get(ns_session,new_lbvserver_obj.name) print("Name : " +new_lbvserver_obj.name +"\n" +"Protocol : " +new_lbvserver_obj.servicetype) #Retrieve state of a lbvserver obj_lbv = lbvserver_stats.get(ns_session, "MyFirstLbVServer") print("statlbvserver_byname result::name="+obj_lbv.name+", servicetype="+obj_lbv.type +",state="+obj_lbv.state) #Retrieve state of a servicegroup obj_svcg = servicegroup.get(ns_session, "http_svcg") print("statsvcg_byname result::name="+obj_svcg.servicegroupname+", servicetype="+obj_svcg.servicetype +",state="+obj_svcg.servicegroupeffectivestate) #Delete the virtual server #lbvserver.delete(ns_session, new_lbvserver_obj.name) #Save the configurations ns_session.save_config() #Logout from the NetScaler appliance ns_session.logout() except nitro_exception as e: print("Exception::errorcode="+str(e.errorcode)+",message="+ e.message) except Exception as e: print("Exception::message="+str(e.args)) return