A simple library to control Citrix Netscaler 9.2+ with NITRO API.
Project description
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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nsnitro-1.0.6.tar.gz
(35.0 kB
view details)
Built Distributions
nsnitro-1.0.6-py2.7.egg
(98.6 kB
view details)
nsnitro-1.0.6-py2.6.egg
(98.6 kB
view details)
File details
Details for the file nsnitro-1.0.6.tar.gz
.
File metadata
- Download URL: nsnitro-1.0.6.tar.gz
- Upload date:
- Size: 35.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2890a76f6b2d9fedbde727cdcfc483e5e5a0d54f377e00151c66c839fdf73e4 |
|
MD5 | 5d6ec31e8a06b02155b5385f38642891 |
|
BLAKE2b-256 | 7dcb63cc8b721ac78ae82ccb8550063898c0d4c80b22c93194b23960b2439567 |
File details
Details for the file nsnitro-1.0.6-py2.7.egg
.
File metadata
- Download URL: nsnitro-1.0.6-py2.7.egg
- Upload date:
- Size: 98.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65a03047e04f1c923cc9bdd8f292a093446ae504ce572ca609b668f3f452e574 |
|
MD5 | 2290ca9eacd9808668da04f61d2ba265 |
|
BLAKE2b-256 | bd95b6462fe620aec2db87b40be5a1ad407fc10c94c6133710f1755ad0f7ee79 |
File details
Details for the file nsnitro-1.0.6-py2.6.egg
.
File metadata
- Download URL: nsnitro-1.0.6-py2.6.egg
- Upload date:
- Size: 98.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76d8c6f6d6436a5bc995a82a552c1fd97dd392c86bb5ac88da0c4ff8b1c05f20 |
|
MD5 | b6a130a923a82f9419a60a5466c5aea7 |
|
BLAKE2b-256 | 6751198bfd43ad4692574db03e3f9cf0292eb57d8e515f2ad5573ec8c83fe8e7 |