Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython

nsnitro is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0.6 Failed View build log
Windows (64-bit)
1.0.6 Failed View build log
Mac OS X (10.5+)
1.0.6 Failed View build log
Linux (32-bit)
1.0.6 Failed View build log
Linux (64-bit)
1.0.6 Failed View build log
 
Links
License
GPL
Dependencies
Lastest release
version 1.0.6 on Jan 3rd, 2012

Simple Python Library to control Citrix Netscaler 9.2+ load balancers with NITRO API. What we're trying here is to implement Citrix NITRO API SDK (that's available for Java and C#) in Python.

You can find a simple command-line interface using this library in contrib/. Feedback/comments welcome.

Very basic usage:

import time from nsnitro import *

nitro = NSNitro('localhost', 'api_user', 'api_user') nitro.login()

# add server test addserver = NSServer() addserver.set_name("mp-nitroserver") addserver.set_ipaddress("10.32.110.99") NSServer.add(nitro, addserver)

server = NSServer() server.set_name("mp-nitroserver") server = server.get(nitro, server) print server.get_name() + ": " + server.get_state()

# disable server test server = NSServer() server.set_name("mp-nitroserver") NSServer.disable(nitro, server)

time.sleep(2)

server = NSServer() server.set_name("mp-nitroserver") server = server.get(nitro, server) print server.get_name() + ": " + server.get_state()

# enable server test server = NSServer() server.set_name("mp-nitroserver") NSServer.enable(nitro, server)

time.sleep(2)

server = NSServer() server.set_name("mp-nitroserver") server = server.get(nitro, server) print server.get_name() + ": " + server.get_state()

# add service test

addservice = NSService() addservice.set_name("aurora_testnitroadd") addservice.set_servername("mp-nitroserver") addservice.set_servicetype("HTTP") addservice.set_port(11111) NSService.add(nitro, addservice)

# add lbvserver test lbvserver = NSLBVServer() lbvserver.set_name("nitro_lbvserver_test") lbvserver.set_ipv46("10.32.110.55") lbvserver.set_port(11111) lbvserver.set_clttimeout(180) lbvserver.set_persistencetype("NONE") lbvserver.set_servicetype("HTTP") NSLBVServer.add(nitro, lbvserver) # print "LB vserver added"

# bind service to lbvserver test lbbinding = NSLBVServerServiceBinding() lbbinding.set_name("nitro_lbvserver_test") lbbinding.set_servicename("aurora_testnitroadd") lbbinding.set_weight(40) NSLBVServerServiceBinding.add(nitro, lbbinding)

print "Binding added"

lbbinding = NSLBVServerServiceBinding() lbbinding.set_name("nitro_lbvserver_test") lbbindings = NSLBVServerServiceBinding.get(nitro, lbbinding)

for lbb in lbbindings:
print "sgn: " + lbb.get_servicegroupname()

# delete binding test lbbinding = NSLBVServerServiceBinding() lbbinding.set_name("nitro_lbvserver_test") lbbinding.set_servicename("aurora_testnitroadd") NSLBVServerServiceBinding.delete(nitro, lbbinding)

print "Binding removed"

# delete lbvserver test lbvserver = NSLBVServer() lbvserver.set_name("nitro_lbvserver_test") NSLBVServer.delete(nitro, lbvserver)

# get service test

service = NSService() service.set_name("aurora_testnitroadd") service = service.get(nitro, service) print service.get_name() + ": " + service.get_svrstate() print service.get_name() + ": %s %s" % (service.get_port(), 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, updateservice)

# get service test

service = NSService() service.set_name("aurora_testnitroadd") service = service.get(nitro, service) print service.get_name() + ": " + service.get_svrstate() print service.get_name() + ": %s %s %s" % (service.get_port(), service.get_comment(), service.get_useproxyport())

# disable service test

disservice = NSService() disservice.set_name("aurora_testnitroadd") NSService.disable(nitro, disservice)

service = NSService() service.set_name("aurora_testnitroadd") service = service.get(nitro, service) print service.get_name() + ": " + service.get_svrstate()

# enable service test

enservice = NSService() enservice.set_name("aurora_testnitroadd") NSService.enable(nitro, enservice)

service = NSService() service.set_name("aurora_testnitroadd") service = service.get(nitro, service) print service.get_name() + ": " + service.get_svrstate()

# rename service test

renservice = NSService() renservice.set_name("aurora_testnitroadd") renservice.set_newname("aurora_testnitroadd_rename") NSService.rename(nitro, renservice)

# rename service back test

renservice = NSService() renservice.set_name("aurora_testnitroadd_rename") renservice.set_newname("aurora_testnitroadd") NSService.rename(nitro, renservice)

# delete service test

delservice = NSService() delservice.set_name("aurora_testnitroadd") NSService.delete(nitro, delservice)

try:
service = NSService() service.set_name("aurora_testnitroadd") service = service.get(nitro, service) print service.get_name() + ": " + service.get_svrstate()
except NSNitroError, e:
print e.message

# delete server test delserver = NSServer() delserver.set_name("mp-nitroserver") NSServer.delete(nitro, delserver)

try:
server = NSServer() server.set_name("mp-nitroserver") server = server.get(nitro, server) print server.get_name() + ": " + server.get_state()
except NSNitroError, e:
print e.message

Subscribe to package updates

Last updated Jan 3rd, 2012

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.