使用Nitro API控制Citrix Netscaler 9.2+的简单库。
nsnitro的Python项目详细描述
简单的Python库来控制Citrix NealSeCube 9.2 + Nitro API的负载均衡器。BR/>我们在这里尝试的是在Python中实现Citrix Nitro API SDK(可以使用Java和C.*)。contrib/
欢迎反馈/评论。
非常基本的用法::
从nsnitro import导入时间
nitro=nsnitro('localhost','api_user',"api_user")
nitro.login()
add server test
addserver=nsserver()
addserver.set_name("mp nitorserver")
addserver.set_ipaddress("10.32.110.99")
nsserver.add(nitro,addserver)
server=nsserver()
server.set庘name("mp nitorserver")
server=server.get(nitro,server)
print server.get庘name()+":"+server.get庘state()
disable server test
server=nsserver()
server.set庘name("mp nitorserver")
nsserver.disable(nitro,服务器)
time.sleep(2)
server=nsserver()
server.set_name("mp nitroserver")
server=server.get(nitro,服务器)
打印服务器。get_name()+":"+server.get_state()
server=nsserver()
server.set_name("MP NitroServer")
nsserver.enable(Nitro,服务器)
time.sleep(2)
server.set_name("MP NitroServer")
server=服务器。获取(nitro,服务器)
打印服务器.get_name()+":"+服务器.get_state()
=nsservice()
addservice.set_name("aurora_testnitroadd")
addservice.set_servername("mp nitroserver")
addservice.set_servicetype("http")
addservice.set_port(11111)
nsservice.add(nitro,addservice)添加lbvserver测试=nbvserver()
lbvserver.set_名("硝基"lbvserver对lbvserver进行了测试")
lbvserver.set_ipv46("10.32.110.55")
lbvserver.set_端口(11111)
lbvserver.set_clttimeout(180)
lbvserver.set_persistencetype("none")
>lbvserver.set_clttimeout(180)
lbvserver.set_persistencetype("none")
lbvserver.set_servicetype("http")
nslbvserver.add(硝基,lbvserver.add(硝基,lbvserver)添加(硝基)硝硝硝石)>
打印"lb vserver added"
lbbinding)
print"binding added"
lbbinding.set_name("nitro_lbvserver_test")
lbbindings=nslbvserverservicebinding.get(nitro,lbbinding)
对于lbbinding中的lbb:
打印"sgn:"+lbb.get_servicegroupname()
=nslbvserverservicebinding()
lbbinding.set_name("nitro_lbvserver_test")
lbbinding.set_servicename("aurora_testnitroadd")
nslbvserverservicebinding.delete(nitro,lbbinding)
print"binding removed"
lbvserver)
service.get_useproxyport())
update service test
updateservice=nsservice()
updateservice.set_name("aurora_testnitroadd")
updateservice.set_comment("test comment")
updateservice.set_useproxyport("no")
nsservice.update(nitro,更新服务)
service.get_comment(),service.get_useproxyport())
stnitroadd"
nsservice.disable(nitro,disservice)
service=nsservice()
service.set_name("aurora_testnitroadd")
service=service.get(nitro,服务)
打印服务。get_name()+":"+服务。get_svrstate()
启用服务测试
enservice=nsservice()
enservice.set_name("aurora_testnitroadd")
nsservice.enable(nitro,enservice)
service.set_name("aurora_testnitroadd")
service=service.get(nitro,服务)
打印服务。get_name()+":"+服务。get_svrstate()
renservice)
renservice)
delservice)
尝试:
service=nsservice()
service.set_name("aurora_testnitroadd")
service=service.get(nitro,service)
打印service.get_name()+":"+service.get_svrstate()
nsnitrorror除外,e:
打印e.message
delserver)
尝试:
server=nsserver()
server.set廑name("mp nitorserver")
server=server.get(nitro,server)
print server.get廑name()+":"+server.get廑state()
除了nsnitorerror,e:
print e.message
policy
cmdpol=nssystemcmdpolicy()
cmdpol.set_action('allow')
cmdpol.set_policyname('nitro-cmd-policy')
cmdpol.set_cmdspec('show hardware')
nssystemcmdpolicy.add(nitro,Cmdpol)
更新系统命令策略
Cmdpol=nsSystemCmdpolicy()
Cmdpol.set_action('deny')
Cmdpol.set_policyname('nitro-cmd-policy')
Cmdpol.set_Cmdspec('show hardware')
NSSystemCmdpolicy.update(nitro,cmdpol)
删除系统命令策略
cmdpol=nssystemcmdpolicy()
cmdpol.set_policyname('nitro-cmd-policy')
nssystemcmdpolicy.delete(nitro,cmdpol)
欢迎反馈/评论。
非常基本的用法::
从nsnitro import导入时间
nitro=nsnitro('localhost','api_user',"api_user")
nitro.login()
add server test
addserver=nsserver()
addserver.set_name("mp nitorserver")
addserver.set_ipaddress("10.32.110.99")
nsserver.add(nitro,addserver)
server=nsserver()
server.set庘name("mp nitorserver")
server=server.get(nitro,server)
print server.get庘name()+":"+server.get庘state()
disable server test
server=nsserver()
server.set庘name("mp nitorserver")
nsserver.disable(nitro,服务器)
time.sleep(2)
server=nsserver()
server.set_name("mp nitroserver")
server=server.get(nitro,服务器)
打印服务器。get_name()+":"+server.get_state()
server.set_name("MP NitroServer")
nsserver.enable(Nitro,服务器)
time.sleep(2)
server=服务器。获取(nitro,服务器)
打印服务器.get_name()+":"+服务器.get_state()
=nsservice()
addservice.set_name("aurora_testnitroadd")
addservice.set_servername("mp nitroserver")
addservice.set_servicetype("http")
addservice.set_port(11111)
nsservice.add(nitro,addservice)添加lbvserver测试=nbvserver()
lbvserver.set_名("硝基"lbvserver对lbvserver进行了测试")
lbvserver.set_ipv46("10.32.110.55")
lbvserver.set_端口(11111)
lbvserver.set_clttimeout(180)
lbvserver.set_persistencetype("none")
>lbvserver.set_clttimeout(180)
lbvserver.set_persistencetype("none")
lbvserver.set_servicetype("http")
nslbvserver.add(硝基,lbvserver.add(硝基,lbvserver)添加(硝基)硝硝硝石)>
打印"lb vserver added"
lbbinding)
print"binding added"
lbbindings=nslbvserverservicebinding.get(nitro,lbbinding)
对于lbbinding中的lbb:
打印"sgn:"+lbb.get_servicegroupname()
=nslbvserverservicebinding()
lbbinding.set_name("nitro_lbvserver_test")
lbbinding.set_servicename("aurora_testnitroadd")
nslbvserverservicebinding.delete(nitro,lbbinding)
print"binding removed"
lbvserver)
service.get_useproxyport())
update service test
updateservice=nsservice()
updateservice.set_name("aurora_testnitroadd")
updateservice.set_comment("test comment")
updateservice.set_useproxyport("no")
nsservice.update(nitro,更新服务)
service.get_comment(),service.get_useproxyport())
stnitroadd"
nsservice.disable(nitro,disservice)
service=nsservice()
service.set_name("aurora_testnitroadd")
service=service.get(nitro,服务)
打印服务。get_name()+":"+服务。get_svrstate()
启用服务测试
enservice=nsservice()
enservice.set_name("aurora_testnitroadd")
nsservice.enable(nitro,enservice)
service=service.get(nitro,服务)
打印服务。get_name()+":"+服务。get_svrstate()
renservice)
renservice)
delservice)
尝试:
service=nsservice()
service.set_name("aurora_testnitroadd")
service=service.get(nitro,service)
打印service.get_name()+":"+service.get_svrstate()
nsnitrorror除外,e:
打印e.message
delserver)
尝试:
server=nsserver()
server.set廑name("mp nitorserver")
server=server.get(nitro,server)
print server.get廑name()+":"+server.get廑state()
除了nsnitorerror,e:
print e.message
policy
cmdpol=nssystemcmdpolicy()
cmdpol.set_action('allow')
cmdpol.set_policyname('nitro-cmd-policy')
cmdpol.set_cmdspec('show hardware')
nssystemcmdpolicy.add(nitro,Cmdpol)
更新系统命令策略
Cmdpol=nsSystemCmdpolicy()
Cmdpol.set_action('deny')
Cmdpol.set_policyname('nitro-cmd-policy')
Cmdpol.set_Cmdspec('show hardware')
NSSystemCmdpolicy.update(nitro,cmdpol)
删除系统命令策略
cmdpol=nssystemcmdpolicy()
cmdpol.set_policyname('nitro-cmd-policy')
nssystemcmdpolicy.delete(nitro,cmdpol)