def policy_exists(client, module): log('Checking if policy exists') try: cspolicy.get(client, module.params['policyname']) return True except: return False
def unset_cspolicy_domain(self, client): try: obj = cspolicy.get(client, "cs_pol") args = ["domain"] cspolicy.unset(client, obj, args) print("unset_cspolicy_domain - Done") except nitro_exception as e: print("Exception::unset_cspolicy_domain::errorcode=" + str(e.errorcode) + ",message=" + e.message) except Exception as e: print("Exception::unset_cspolicy_domain::message=" + str(e.args))
def unset_cspolicy_domain(self, client): try: obj = cspolicy.get(client, "cs_pol") args = ["domain"] cspolicy.unset(client, obj, args) print("unset_cspolicy_domain - Done") except nitro_exception as e: print("Exception::unset_cspolicy_domain::errorcode=" + str(e.errorcode) + ",message=" + e.message) except Exception as e: print("Exception::unset_cspolicy_domain::message=" + str(e.args))
def _create_cs_url_policy(self, policy_name, url_rule): try: policy = cspolicy.get(self.ns_session, policy_name) if (policy is not None): logger.info("CS URL Policy %s already exists " % policy_name) return except nitro_exception: pass policy = cspolicy() policy.policyname = policy_name policy.url = url_rule cspolicy.add(self.ns_session, policy)
def policy_identical(client, module, cspolicy_proxy): log('Checking if defined policy is identical to configured') try: policy_list = cspolicy.get(client, module.params['policyname']) except: return False diff_dict = cspolicy_proxy.diff_object(policy_list) if 'ip' in diff_dict: del diff_dict['ip'] if len(diff_dict) == 0: return True else: return False
def get_cspolicy(self, client, parament2): try: result1 = cspolicy.get(client) if result1: for i in range(0, len(result)): print("Name of Policy:" + result[i].policyname) print print("Policy URL:" + result[i].url) # print("The Rule is :" + result[i].rule) # print print("This policy hit is :" + result[i].hits) print("****************************************") except nitro_exception as e: print("Exception:: errorcode=" + str(e.errorcode) + ", message=" + e.message) except Exception as e: print("Exception:: get_cspolicy:: message=" + str(e.args))
def get_csvserver(self, client, parament2): try: result_csvserver_state = csvserver_stats.get(client) result_cspolicy = cspolicy.get(client) result_lbvserver_state = lbvserver_stats.get(client) if result_csvserver_state: flag = False for i in range(0, len(result_csvserver_state)): #if parament2 == res if parament2 == result_csvserver_state[i].name: flag = True policy_count = csvserver_cspolicy_binding.count( client, result_csvserver_state[i].name) policy_name = csvserver_cspolicy_binding.get( client, result_csvserver_state[i].name) print(" Name :" + result_csvserver_state[i].name) print(" IP: " + result_csvserver_state[i].primaryipaddress + ":" + str(result_csvserver_state[i].primaryport)) print(" State:" + result_csvserver_state[i].state + " Type: " + result_csvserver_state[i].type) print(" Total hits:" + result_csvserver_state[i].tothits + " Hits rates:" + str(result_csvserver_state[i].hitsrate)) #print(" Established State : " + result[j].establishedconn) print(" Total requests :" + result_csvserver_state[i].totalrequests) print(" Total responses :" + result_csvserver_state[i].totalresponses) print( " Current server :" + str(result_csvserver_state[i].cursrvrconnections)) print #print("<-------------------------------------->") for k in range(0, policy_count): for j in range(0, len(result_cspolicy)): global URL if result_cspolicy[ j].policyname == policy_name[ k].policyname: URL = result_cspolicy[j].url #print("url:" + URL) print(" Policy:") print(" |--- Name: " + policy_name[k].policyname) print(" |--- Hits: " + policy_name[k].hits) print(" |--- URL: " + URL) print(" |--- Priority: " + policy_name[k].priority) print(" |--- Target LB: " + policy_name[k].targetlbvserver) print for k in range(0, policy_count): # for j in range(0,len(result_cspolicy)): print print(" Policy " + policy_name[k].policyname + " Target LBvserver:") global lbvserver_name lbvserver_name = policy_name[k].targetlbvserver for p in range(0, len(result_lbvserver_state)): if lbvserver_name == result_lbvserver_state[ p].name: # print(" LBvserver:") print(" |--- Name: " + result_lbvserver_state[p].name) print(" |--- IP: " + result_lbvserver_state[p]. primaryipaddress) print(" |--- Port:" + str( result_lbvserver_state[p].primaryport)) print(" |--- State: " + result_lbvserver_state[p].state) print(" |--- Type: " + result_lbvserver_state[p].type) print(" |--- Request bytes:" + result_lbvserver_state[p]. totalresponsebytes) print(" |--- Total packets sent:" + result_lbvserver_state[p]. totalpktssent) print(" |--- Health of the vserver:" + result_lbvserver_state[p].vslbhealth) print( " |--- Number of client connections in ESTABLISHED state:" + result_lbvserver_state[p]. establishedconn) result_lbv_service_binding = lbvserver_service_binding.get( client, result_lbvserver_state[p].name) for kk in range( 0, len(result_lbv_service_binding)): print(" |--- Service : ") print(" >--- Service Name : " + result_lbv_service_binding[kk]. servicename) print(" >--- Service IP :" + result_lbv_service_binding[kk]. ipv46) print(" >--- Service State: " + result_lbv_service_binding[kk]. curstate) #print("<<------------------------------------>>") elif (i == len(result_csvserver_state) - 1) & (flag == False): #print(isinstance(i,int)) #elif i == len(result_csvserver)-1: print( "There is no such csvserver name or policy, Exit!") # policy_count = csvserver_cspolicy_binding.count(client,result[i].name) # print("policy count:" + str(policy_count)) # policy_name = csvserver_cspolicy_binding.get(client,result[i].name) # for j in range(0,policy_count): # print("Policy name :" + policy_name[j].policyname) # for i in range(0,len(result)): # print("Name of csvserver:" + result[i].name) # print # print("Target Load Balance Virtual Server:" + result[i].lbvserver) # print # print("The State of csvserver:" + result[i].curstate) # print # print("Down State Flush" + result[i].downstateflush) # print # print("****************************************") print("****************************************") except nitro_exception as e: print("Exception:: errorcode=" + str(e.errorcode) + ", message=" + e.message) except Exception as e: print("Exception:: get_csvserver:: message=" + str(e.args))
def diff_list(client, module, cspolicy_proxy): policy_list = cspolicy.get(client, module.params['policyname']) return cspolicy_proxy.diff_object(policy_list)