Advertisement
Guest User

Untitled

a guest
Apr 15th, 2018
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 43.25 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. #
  4. # Copyright (c) 2008-2015 Citrix Systems, Inc.
  5. #
  6. #   Licensed under the Apache License, Version 2.0 (the "License")
  7. #   you may not use this file except in compliance with the License.
  8. #   You may obtain a copy of the License at
  9. #
  10. #       http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. #  Unless required by applicable law or agreed to in writing, software
  13. #   distributed under the License is distributed on an "AS IS" BASIS,
  14. #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. #   See the License for the specific language governing permissions and
  16. #   limitations under the License.
  17. #
  18.  
  19.  
  20.  
  21. from nssrc.com.citrix.netscaler.nitro.exception.nitro_exception import nitro_exception
  22. from nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver import lbvserver
  23. from nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbmonitor import lbmonitor
  24. from nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver_rewritepolicy_binding import lbvserver_rewritepolicy_binding
  25. from nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding import lbvserver_service_binding
  26. from nssrc.com.citrix.netscaler.nitro.resource.config.network.rnat import rnat
  27. from nssrc.com.citrix.netscaler.nitro.resource.config.ns.nsacls import nsacls
  28. from nssrc.com.citrix.netscaler.nitro.resource.config.ns.nsconfig import nsconfig
  29. from nssrc.com.citrix.netscaler.nitro.resource.config.ns.nsmode import nsmode
  30. from nssrc.com.citrix.netscaler.nitro.resource.config.ns.nspbrs import nspbrs
  31. from nssrc.com.citrix.netscaler.nitro.resource.config.snmp.snmpgroup import snmpgroup
  32. from nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslcertkey import sslcertkey
  33. from nssrc.com.citrix.netscaler.nitro.resource.config.cache.cacheobject import cacheobject
  34. from nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslcipher import sslcipher
  35. from nssrc.com.citrix.netscaler.nitro.resource.config.ssl.ssldhparam import ssldhparam
  36. from nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslpkcs12 import sslpkcs12
  37. from nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslpkcs8 import sslpkcs8
  38. from nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslvserver import sslvserver
  39. from nssrc.com.citrix.netscaler.nitro.resource.config.ssl.sslvserver_sslcertkey_binding import sslvserver_sslcertkey_binding
  40. from nssrc.com.citrix.netscaler.nitro.resource.config.system.systemgroup_systemuser_binding import systemgroup_systemuser_binding
  41. from nssrc.com.citrix.netscaler.nitro.resource.config.vpn.vpnvserver_vpnclientlessaccesspolicy_binding import vpnvserver_vpnclientlessaccesspolicy_binding
  42. from nssrc.com.citrix.netscaler.nitro.service.nitro_service import nitro_service
  43. from nssrc.com.citrix.netscaler.nitro.resource.config.aaa.aaaglobal_aaapreauthenticationpolicy_binding import aaaglobal_aaapreauthenticationpolicy_binding
  44. from nssrc.com.citrix.netscaler.nitro.resource.config.aaa.aaapreauthenticationaction import aaapreauthenticationaction
  45. from nssrc.com.citrix.netscaler.nitro.resource.config.aaa.aaapreauthenticationpolicy import aaapreauthenticationpolicy
  46. from nssrc.com.citrix.netscaler.nitro.resource.config.appfw.appfwconfidfield import appfwconfidfield
  47. from nssrc.com.citrix.netscaler.nitro.resource.config.appfw.appfwprofile import appfwprofile
  48. from nssrc.com.citrix.netscaler.nitro.resource.config.authentication.authenticationvserver_auditnslogpolicy_binding import authenticationvserver_auditnslogpolicy_binding
  49. from nssrc.com.citrix.netscaler.nitro.resource.config.authentication.authenticationvserver_authenticationlocalpolicy_binding import authenticationvserver_authenticationlocalpolicy_binding
  50. from nssrc.com.citrix.netscaler.nitro.resource.config.basic.service import service
  51. from nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup import servicegroup
  52. from nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup_servicegroupmember_binding import servicegroup_servicegroupmember_binding
  53. from nssrc.com.citrix.netscaler.nitro.resource.config.cs.cspolicy import cspolicy
  54. from nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver import csvserver
  55. from nssrc.com.citrix.netscaler.nitro.resource.config.cs.csvserver_cmppolicy_binding import csvserver_cmppolicy_binding
  56. from nssrc.com.citrix.netscaler.nitro.resource.config.filter.filterpolicy import filterpolicy
  57. from nssrc.com.citrix.netscaler.nitro.resource.config.gslb.gslbservice import gslbservice
  58. from nssrc.com.citrix.netscaler.nitro.resource.config.gslb.gslbsite import gslbsite
  59. from nssrc.com.citrix.netscaler.nitro.resource.config.gslb.gslbvserver import gslbvserver
  60. from nssrc.com.citrix.netscaler.nitro.resource.config.gslb.gslbvserver_domain_binding import gslbvserver_domain_binding
  61. from nssrc.com.citrix.netscaler.nitro.resource.config.gslb.gslbvserver_gslbservice_binding import gslbvserver_gslbservice_binding
  62. from nssrc.com.citrix.netscaler.nitro.resource.base.base_response import base_response
  63. from nssrc.com.citrix.netscaler.nitro.resource.base.base_responses import base_responses
  64. from nssrc.com.citrix.netscaler.nitro.resource.config.ns.nsfeature import nsfeature
  65. from nssrc.com.citrix.netscaler.nitro.resource.config.ns.nsmode import nsmode
  66. from nssrc.com.citrix.netscaler.nitro.resource.config.rewrite.rewritepolicy import rewritepolicy
  67. from nssrc.com.citrix.netscaler.nitro.resource.config.rewrite.rewriteaction import rewriteaction
  68. import sys
  69.  
  70. class set_config :
  71.     def __init__(self):
  72.         _ip=""
  73.         _username=""
  74.         _password=""
  75.  
  76.     @staticmethod
  77.     def main(cls, args_):
  78.         if(len(args_) < 3):
  79.             print("Usage: run.bat <ip> <username> <password>")
  80.             return
  81.  
  82.         config = set_config()
  83.         config.ip = args_[1]
  84.         config.username = args_[2]
  85.         config.password = args_[3]
  86.        
  87.         try :
  88.             client = nitro_service(config.ip,"http")
  89.             client.set_credential(config.username,config.password)
  90.             client.timeout = 500
  91.             config.run_sample(client)
  92.             client.logout()
  93.         except nitro_exception as  e:
  94.             print("Exception::errorcode="+str(e.errorcode)+",message="+ e.message)
  95.         except Exception as e:        
  96.             print("Exception::message="+str(e.args))
  97.         return
  98.  
  99.    
  100.     def flush_cacheobj(self, client) :
  101.         try :
  102.             obj = cacheobject()
  103.             obj.locator = "84467440737096"
  104.             cacheobject.flush(client, obj)
  105.             print("flush_cacheobj - Done")
  106.         except nitro_exception as e :
  107.             print("Exception::flush_cacheobj::errorcode="+str(e.errorcode)+",message="+ e.message)
  108.         except Exception as e:
  109.             print("Exception::flush_cacheobj::message="+str(e.args))
  110.            
  111.    
  112.  
  113.     #GSLB configs for Vserver, Service and Sites
  114.     def add_gslb_vserver(self, client) :
  115.         try :
  116.             gslbvserver1 = gslbvserver()   
  117.             gslbvserver1.name = "gvip1"
  118.             gslbvserver1.servicetype = "http"
  119.             gslbvserver.add(client, gslbvserver1)              
  120.             print("add_gslb_vserver - Done")
  121.         except nitro_exception as e :
  122.             print("Exception::add_gslb_vserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  123.         except Exception as e:
  124.             print("Exception::add_gslb_vserver::message="+str(e.args))
  125.        
  126.        
  127.        
  128.     def set_gslb_vserver_timeout(self, client) :
  129.         try :
  130.             gslbvserver1 = gslbvserver()   
  131.             gslbvserver1.name = "gvip1"
  132.             gslbvserver1.timeout = 10          
  133.             gslbvserver.update(client, gslbvserver1)               
  134.             print("set_gslb_vserver_timeout - Done")
  135.         except nitro_exception as e :
  136.             print("Exception::set_gslb_vserver_timeout::errorcode="+str(e.errorcode)+",message="+ e.message)
  137.         except Exception as e:
  138.             print("Exception::set_gslb_vserver_timeout::message="+str(e.args))
  139.    
  140.     def unset_gslb_vserver_timeout(self, client) :
  141.         try :
  142.             gslbvserver1 = gslbvserver()   
  143.             gslbvserver1.name = "gvip1"
  144.             arr = ["timeout"]
  145.             gslbvserver.unset(client, gslbvserver1, arr)
  146.             print("unset_gslb_vserver_timeout - Done")
  147.         except nitro_exception as e :
  148.             print("Exception::unset_gslb_vserver_timeout::errorcode="+str(e.errorcode)+",message="+ e.message)
  149.         except Exception as e:
  150.             print("Exception::unset_gslb_vserver_timeout::message="+str(e.args))
  151.    
  152.     def enable_gslb_vserver(self, client) :
  153.         try :
  154.             gslbvserver.enable(client, "gvip1")            
  155.             print("enable_gslb_vserver - Done")
  156.         except nitro_exception as e :
  157.             print("Exception::enable_gslb_vserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  158.         except Exception as e:
  159.             print("Exception::enable_gslb_vserver::message="+str(e.args))
  160.        
  161.     def disable_gslb_vserver(self, client) :
  162.         try :
  163.             gslbvserver.disable(client, "gvip1")
  164.             print("disable_gslb_vserver - Done")
  165.         except nitro_exception as e :
  166.             print("Exception::disable_gslb_vserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  167.         except Exception as e:
  168.             print("Exception::disable_gslb_vserver::message="+str(e.args))
  169.    
  170.     def rename_gslb_vserver(self, client) :
  171.         try :
  172.             newname="newgvip1"
  173.             gslbvserver.rename(client, "gvip1", newname)
  174.             print("rename_gslb_vserver - Done")
  175.         except nitro_exception as e :
  176.             print("Exception::rename_gslb_vserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  177.         except Exception as e:
  178.             print("Exception::rename_gslb_vserverr::message="+str(e.args))
  179.        
  180.     def add_gslb_service(self, client) :
  181.         try :
  182.             port=80
  183.             no=100
  184.             gslbservice1 = gslbservice()
  185.             gslbservice1.servicename = "svc0"
  186.             gslbservice1.ip = "10.102.3.239"
  187.             gslbservice1.maxclient = no
  188.             gslbservice1.port = port
  189.             gslbservice1.sitename = "bangalore1"
  190.             gslbservice1.servicetype = "http"
  191.             gslbservice.add(client, gslbservice1)              
  192.             print("add_gslb_service - Done")
  193.         except nitro_exception as e :
  194.             print("Exception::add_gslb_service::errorcode="+str(e.errorcode)+",message="+ e.message)
  195.         except Exception as e:
  196.             print("Exception::add_gslb_service::message="+str(e.args))
  197.        
  198.     def add_service(self, client) :
  199.         try :
  200.             port=80
  201.             service1 = service()
  202.             service1.name = "svc10"
  203.             service1.ip = "10.102.3.23"
  204.             service1.port = port
  205.             service1.servicetype = "http"
  206.             service.add(client, service1)                
  207.             print("add_service - Done")
  208.         except nitro_exception as e :
  209.             print("Exception::add_service::errorcode="+str(e.errorcode)+",message="+ e.message)
  210.         except Exception as e:
  211.             print("Exception::add_service::message="+str(e.args))
  212.        
  213.        
  214.     def set_gslb_service_cip(self, client) :
  215.         try :
  216.             gslbservice1 = gslbservice()
  217.             gslbservice1.servicename = "svc0"
  218.             gslbservice1.cip = "enabled"
  219.             gslbservice.update(client, gslbservice1)
  220.             print("set_gslb_service_cip - Done")
  221.         except nitro_exception as e :
  222.             print("Exception::set_gslb_service_cip::errorcode="+str(e.errorcode)+",message="+ e.message)
  223.         except Exception as e:
  224.             print("Exception::set_gslb_service_cip::message="+str(e.args))
  225.        
  226.        
  227.    
  228.     def unset_gslb_service_cip(self, client) :
  229.         try :
  230.             gslbservice1 = gslbservice()
  231.             gslbservice1.servicename = "svc0"
  232.             arr=["cip"]
  233.             gslbservice.unset(client, gslbservice1, arr)
  234.             print("unset_gslb_service_cip - Done")
  235.         except nitro_exception as e :
  236.             print("Exception::unset_gslb_service_cip::errorcode="+str(e.errorcode)+",message="+ e.message)
  237.         except Exception as e:
  238.             print("Exception::unset_gslb_service_cip::message="+str(e.args))
  239.        
  240.    
  241.     def rename_gslb_service(self, client) :
  242.         try :
  243.             newname="newsvc0"
  244.             gslbservice.rename(client, "svc0", newname)
  245.             print("rename_gslb_service - Done")
  246.         except nitro_exception as e :
  247.             print("Exception::rename_gslb_service::errorcode="+str(e.errorcode)+",message="+ e.message)
  248.         except Exception as e:
  249.             print("Exception::rename_gslb_service::message="+str(e.args))
  250.    
  251.     def add_gslb_site(self, client) :
  252.         try :
  253.             gslbsite1 = gslbsite()
  254.             gslbsite1.sitename = "bangalore1"
  255.             gslbsite1.sitetype = "local"
  256.             gslbsite1.metricexchange = "enabled"
  257.             gslbsite1.siteipaddress = "10.102.3.222"
  258.             gslbsite.add(client, gslbsite1)
  259.             print("add_gslb_site - Done")
  260.         except nitro_exception as e :
  261.             print("Exception::add_gslb_site::errorcode="+str(e.errorcode)+",message="+ e.message)
  262.         except Exception as e:
  263.             print("Exception::add_gslb_site::message="+str(e.args))
  264.    
  265.     def set_gslb_site_metricexchange(self, client) :           
  266.         try :
  267.             gslbsite1  = gslbsite()
  268.             gslbsite1.sitename = "bangalore1"
  269.             gslbsite1.metricexchange = "enabled"
  270.             gslbsite.update(client,gslbsite1)  
  271.             print("set_gslb_site_metricexchange - Done")
  272.         except nitro_exception as e :
  273.             print("Exception::set_gslb_site_metricexchange::errorcode="+str(e.errorcode)+",message="+ e.message)
  274.         except Exception as e:
  275.             print("Exception::set_gslb_site_metricexchange::message="+str(e.args))
  276.  
  277.     def unset_gslb_site_metricexchange(self, client) :
  278.         try :
  279.             arr = ["metricexchange"]
  280.             gslbsite1 = gslbsite()
  281.             gslbsite1.sitename = "bangalore1"
  282.             gslbsite.unset(client, gslbsite1, arr) 
  283.             print("unset_gslb_site_metricexchange - Done")
  284.         except nitro_exception as e :
  285.             print("Exception::unset_gslb_site_metricexchange::errorcode="+str(e.errorcode)+",message="+ e.message)
  286.         except Exception as e:
  287.             print("Exception::unset_gslb_site_metricexchange::message="+str(e.args))
  288.  
  289.     # GSLB vserver_service binding 
  290.     def bind_gslbvserver_gslbservice(self, client) :
  291.         try :
  292.             obj = gslbvserver_gslbservice_binding()
  293.             obj.name = "gvip1"
  294.             obj.servicename = "svc0"
  295.             gslbvserver_gslbservice_binding.add(client, obj)
  296.             print("bind_gslbvserver_gslbservice - Done ")            
  297.         except nitro_exception as e :
  298.             print("Exception::bind_gslbvserver_gslbservice::errorcode="+str(e.errorcode)+" , Message ="+ e.message)
  299.         except Exception as e:
  300.             print("Exception::bind_gslbvserver_gslbservice::message="+str(e.args))           
  301.        
  302.     def nsconfig_diff(self, client) :
  303.         try :
  304.             obj = nsconfig()
  305.             result = nsconfig.diff(client, obj)
  306.             if result :
  307.                 print("nsconfig_diff - response = " + result.get_response())
  308.             else :
  309.                 print("nsconfig_diff - Done")
  310.         except nitro_exception as e :
  311.             print("Exception::nsconfig_diff::errorcode="+str(e.errorcode)+",message="+ e.message)
  312.         except Exception as e:
  313.             print("Exception::nsconfig_diff::message="+str(e.args))
  314.            
  315.    
  316.     def update_appfwprofile (self, client) :
  317.         try :
  318.             myprofile = appfwprofile()     
  319.             a=["xml"]
  320.             myprofile.name = "pr1"
  321.             myprofile.type = a
  322.             client.warning = True
  323.             appfwprofile.update(client, myprofile)
  324.         except nitro_exception as e :
  325.             print("Exception::update_appfwprofile::errorcode="+str(e.errorcode)+",message="+ e.message)
  326.         except Exception as e:
  327.             print("Exception::update_appfwprofile::message="+str(e.args))
  328.    
  329.     def bindsslvs_cert (self, client) :
  330.         try :
  331.             lbvs = lbvserver()
  332.             lbvs.name = "ssl_vs"
  333.             lbvs.servicetype = lbvserver.Servicetype.SSL
  334.             lbvs.ipv46 = "1.1.1.1"
  335.             lbvs.port = 443
  336.             lbvserver.add(client, lbvs)
  337.             obj = [sslvserver_sslcertkey_binding() for _ in range(2)]
  338.             obj[0].vservername = "ssl_vs"
  339.             obj[0].certkeyname = "xx"
  340.             obj[1].vservername = "ssl_vs"
  341.             obj[1].certkeyname = "yy"
  342.             sslvserver_sslcertkey_binding.add(client, obj) 
  343.             print("bindsslvs_cert - Done")
  344.         except nitro_exception as e :
  345.             print("Exception::bindsslvs_cert::errorcode="+str(e.errorcode)+",message="+ e.message)
  346.         except Exception as e:
  347.             print("Exception::bindsslvs_cert::message="+str(e.args))
  348.        
  349.    
  350.     def convert_sslpkcs8 (self, client) :
  351.         try :
  352.             obj = sslpkcs8()
  353.             obj.pkcs8file = "swetha1.pk8"
  354.             obj.keyfile = "swetha-key2.pem"
  355.             obj.keyform = sslpkcs8.Keyform.PEM
  356.             obj.password = "asas"
  357.             sslpkcs8.convert(client, obj)  
  358.             print("convert_sslpkcs8 - Done")
  359.         except nitro_exception as e :
  360.             print("Exception::convert_sslpkcs8::errorcode="+str(e.errorcode)+",message="+ e.message)
  361.         except Exception as e:
  362.             print("Exception::convert_sslpkcs8::message="+str(e.args))
  363.        
  364.        
  365.     def create_sslpkcs12 (self, client) :
  366.         try :
  367.             obj = sslpkcs12()
  368.             obj.outfile = "aaa.pk12"
  369.             obj.export = True
  370.             obj.certfile = "cacert.pem"
  371.             obj.keyfile = "cakey.pem"
  372.             obj.password = "abcd"
  373.             sslpkcs12.convert(client, obj) 
  374.             print("create_sslpkcs12 - Done")
  375.         except nitro_exception as e :
  376.             print("Exception::create_sslpkcs12::errorcode="+str(e.errorcode)+",message="+ e.message)
  377.         except Exception as e:
  378.             print("Exception::create_sslpkcs12::message="+str(e.args))
  379.        
  380.    
  381.    
  382.     def creat_ssldhparam (self, client) :
  383.         try :
  384.             obj = ssldhparam()
  385.             obj.dhfile = "fipskey1024"
  386.             obj.bits = 787
  387.             ssldhparam.create(client, obj) 
  388.             print("creat_ssldhparam - Done")
  389.         except nitro_exception as e :
  390.             print("Exception::creat_ssldhparam::errorcode="+str(e.errorcode)+",message="+ e.message)
  391.         except Exception as e:
  392.             print("Exception::creat_ssldhparam::message="+str(e.args))
  393.        
  394.    
  395.    
  396.     def bind_authvs_nspol (self, client) :
  397.         try :
  398.             obj = authenticationvserver_auditnslogpolicy_binding()
  399.             obj.name = "auth_vs"
  400.             obj.policy = "audit_pol"
  401.             obj.priority = 77
  402.             authenticationvserver_auditnslogpolicy_binding.add(client, obj)        
  403.             print("bind_authvs_nspol - Done")
  404.         except nitro_exception as e :
  405.             print("Exception::bind_authvs_nspol::errorcode="+str(e.errorcode)+",message="+ e.message)
  406.         except Exception as e:
  407.             print("Exception::bind_authvs_nspol::message="+str(e.args))
  408.        
  409.    
  410.     def apply_nspbrs (self, client) :
  411.         try :
  412.             nspbrs.apply(client)
  413.             print("apply_nspbrs - Done")
  414.         except nitro_exception as e :
  415.             print("Exception::apply_nspbrs::errorcode="+str(e.errorcode)+",message="+ e.message)
  416.         except Exception as e:
  417.             print("Exception::apply_nspbrs::message="+str(e.args))
  418.        
  419.    
  420.    
  421.     def clear_nspbrs(self, client) :
  422.         try :
  423.             nspbrs.clear(client)
  424.             print("clear_nspbrs - Done")
  425.         except nitro_exception as e :
  426.             print("Exception::clear_nspbrs::errorcode="+str(e.errorcode)+",message="+ e.message)
  427.         except Exception as e:
  428.             print("Exception::clear_nspbrs::message="+str(e.args))
  429.        
  430.    
  431.    
  432.     def bind_servicegroup_server (self, client) :
  433.         try :
  434.             grp = servicegroup()
  435.             grp.servicegroupname = "svcgrp1"
  436.             grp.servicetype = servicegroup.Servicetype.HTTP
  437.             servicegroup.add(client, grp)
  438.             obj = servicegroup_servicegroupmember_binding()
  439.             obj.servicegroupname = "svcgrp1"
  440.             obj.ip = "1.1.2.79"
  441.             obj.port = 77
  442.             servicegroup_servicegroupmember_binding.add(client, obj)
  443.             print("bind_servicegroup_server - Done")
  444.         except nitro_exception as e :
  445.             print("Exception::bind_servicegroup_server::errorcode="+str(e.errorcode)+",message="+ e.message)
  446.         except Exception as e:
  447.             print("Exception::bind_servicegroup_server::message="+str(e.args))
  448.            
  449.    
  450.     def bind_csvs_cmppol(self, client) :
  451.         try :
  452.             obj = csvserver_cmppolicy_binding()
  453.             obj.name = "cs1"
  454.             obj.policyname = "pdf_cmp"
  455.             csvserver_cmppolicy_binding.add(client, obj)
  456.             print("bind_csvs_cmppol - Done")
  457.         except nitro_exception as e :
  458.             print("Exception::bind_csvs_cmppol::errorcode="+str(e.errorcode)+",message="+ e.message)
  459.         except Exception as e:
  460.             print("Exception::bind_csvs_cmppol::message="+str(e.args))
  461.        
  462.    
  463.  
  464.     def Update_certkey(self, client) :
  465.         try :
  466.             certkey="cert1"
  467.             sslcertkey1 = sslcertkey()
  468.             sslcertkey1.certkey = certkey
  469.             sslcertkey1.cert = "/nsconfig/ssl/geetika.cert"
  470.             sslcertkey1.key = "/nsconfig/ssl/geetika.key"
  471.             sslcertkey1.nodomaincheck = True
  472.             sslcertkey.change(client,sslcertkey1)
  473.             print("Update certkey - Done")
  474.         except nitro_exception as e :
  475.             print("Exception::Update certkey::rc="+str(e.errorcode)+" , Message ="+ e.message)
  476.         except Exception as e:
  477.             print("Exception::Update certkey::message="+str(e.args))
  478.          
  479.            
  480.    
  481.     def add_filter_pol(self, client) :
  482.         try :
  483.             obj = filterpolicy()
  484.             obj.name = "f1"
  485.             obj.rule = "method == get && url == /testsite/*"
  486.             obj.reqaction = "DROP"
  487.             filterpolicy.add(client, obj)
  488.             print("add_filter_pol - Done")
  489.         except nitro_exception as e :
  490.             print("Exception::add_filter_pol::errorcode="+str(e.errorcode)+",message="+ e.message)
  491.         except Exception as e:
  492.             print("Exception::add_filter_pol::message="+str(e.args))
  493.        
  494.     def set_filter_policy(self, client) :
  495.         try :
  496.             obj = filterpolicy()
  497.             obj.name = "f2"
  498.             obj.rule = "method == post && url == /testsite/*"
  499.             filterpolicy.update(client, obj)
  500.             print("set_filter_policy - Done")
  501.         except nitro_exception as e :
  502.             print("Exception::set_filter_policy::errorcode="+str(e.errorcode)+",message="+ e.message)
  503.         except Exception as e:
  504.             print("Exception::set_filter_policy::message="+str(e.args))
  505.        
  506.    
  507.    
  508.     def clearconfig(self, client) :
  509.         try :
  510.             var = nsconfig()
  511.             var.level = nsconfig.Level.full
  512.             nsconfig.clear(client, var)
  513.             print("clearconfig - Done")
  514.         except nitro_exception as e :
  515.             print("Exception::clearconfig::errorcode="+str(e.errorcode)+",message="+ e.message)
  516.         except Exception as e:
  517.             print("Exception::clearconfig::message="+str(e.args))
  518.        
  519.    
  520.  
  521.     def saveconfig(self, client) :
  522.         try :
  523.             obj = nsconfig()
  524.             nsconfig.save(client,obj)
  525.             print("saveconfig - Done")
  526.         except nitro_exception as e :
  527.             print("Exception::saveconfig::errorcode="+str(e.errorcode)+",message="+ e.message)
  528.         except Exception as e:
  529.             print("Exception::saveconfig::message="+str(e.args))
  530.        
  531.     def renumber_nsacls(self, client) :
  532.         try :
  533.             nsacls.renumber(client)
  534.             print("renumber_nsacls - Done")
  535.         except nitro_exception as e :
  536.             print("Exception::renumber_nsacls::errorcode="+str(e.errorcode)+",message="+ e.message)
  537.         except Exception as e:
  538.             print("Exception::renumber_nsacls::message="+str(e.args))
  539.        
  540.    
  541.     def bind_authvs_authlocalpolicy(self, client) :
  542.         try :
  543.             obj = authenticationvserver_authenticationlocalpolicy_binding()
  544.             obj.name = "auth1"
  545.             obj.policy = "auth-localpol"
  546.             authenticationvserver_authenticationlocalpolicy_binding.add(client, obj)
  547.             print("bind_authvs_authlocalpolicy - Done")
  548.         except nitro_exception as e :
  549.             print("Exception::bind_authvs_authlocalpolicy::errorcode="+str(e.errorcode)+",message="+ e.message)
  550.         except Exception as e:
  551.             print("Exception::bind_authvs_authlocalpolicy::message="+str(e.args))
  552.        
  553.    
  554.    
  555.     def add_lbvserver(self, client) :
  556.         try :
  557.             obj = lbvserver()          
  558.             obj.name = "lb_vip"
  559.             obj.servicetype = lbvserver.Servicetype.HTTP
  560.             response = lbvserver.add(client, obj)
  561.             print("add_lbvserver - Done")
  562.             if response.severity and response.severity =="WARNING" :
  563.                 print("\tWarning : " + response.message)
  564.         except nitro_exception as e :
  565.             print("Exception::add_lbvserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  566.         except Exception as e:
  567.             print("Exception::add_lbvserver::message="+str(e.args))
  568.        
  569.    
  570.     def add_sslcipher(self, client) :
  571.         try :
  572.             obj1 = sslcipher()
  573.             cipher = "TLS1-AES-256-CBC-SHA"
  574.             obj1.ciphergroupname = "mygrp1"
  575.             obj1.ciphgrpalias = cipher
  576.             sslcipher.add(client, obj1)
  577.             print("add_sslcipher by cipher - Done")
  578.         except nitro_exception as e :
  579.             print("Exception::add_sslcipher::errorcode="+str(e.errorcode)+",message="+ e.message)
  580.         except Exception as e:
  581.             print("Exception::add_sslcipher::message="+str(e.args))
  582.        
  583.    
  584.  
  585.     def add_appfwprofile(self, client) :
  586.         try :
  587.             obj = appfwprofile()
  588.             obj.name = "pr1"
  589.             type_ = [appfwprofile.Type.XML]
  590.             obj.type = type_
  591.             appfwprofile.add(client, obj)
  592.             print("add_appfwprofile - Done")
  593.         except nitro_exception as e :
  594.             print("Exception::add_appfwprofile::errorcode="+str(e.errorcode)+",message="+ e.message)
  595.         except Exception as e:
  596.             print("Exception::add_appfwprofile::message="+str(e.args))
  597.        
  598.    
  599.    
  600.     def add_snmpgroup(self, client) :
  601.         try :
  602.             obj = snmpgroup()
  603.             obj.name = "snmp_grp"
  604.             obj.securitylevel = snmpgroup.Securitylevel.noAuthNoPriv
  605.             obj.readviewname = "tmp"
  606.             snmpgroup.add(client,obj)
  607.             print("add_snmpgroup - Done")
  608.         except nitro_exception as e :
  609.             print("Exception::add_snmpgroup::errorcode="+str(e.errorcode)+",message="+ e.message)
  610.         except Exception as e:
  611.             print("Exception::add_snmpgroup::message="+str(e.args))
  612.        
  613.    
  614.     def add_monitor(self, client) :
  615.         try :
  616.             obj = lbmonitor()
  617.             obj.monitorname = "dns1"
  618.             obj.type = lbmonitor.Type.DNS
  619.             lbmonitor.add(client,obj)
  620.             print("add_monitor - Done")
  621.         except nitro_exception as e :
  622.             print("Exception::add_monitor::errorcode="+str(e.errorcode)+",message="+ e.message)
  623.         except Exception as e:
  624.             print("Exception::add_monitor::message="+str(e.args))
  625.        
  626.    
  627.  
  628.     def add_lbvserver_post(self, client) :
  629.         try :
  630.             obj = lbvserver()
  631.             obj.name = "lb_vip_post"
  632.             obj.servicetype = lbvserver.Servicetype.HTTP
  633.             lbvserver.add(client,obj)
  634.             print("add_lbvserver_post - Done")
  635.         except nitro_exception as e :
  636.             print("Exception::add_lbvserver_post::errorcode="+str(e.errorcode)+",message="+ e.message)
  637.         except Exception as e:
  638.             print("Exception::add_lbvserver_post::message="+str(e.args))
  639.        
  640.    
  641.    
  642.     def add_appfw_confidField(self, client) :
  643.         try :
  644.             obj = appfwconfidfield()
  645.             obj.fieldname = "ap_con"
  646.             obj.url = "/test1"
  647.             appfwconfidfield.add(client,obj)
  648.             print("add_appfw_confidField - Done")
  649.         except nitro_exception as e :
  650.             print("Exception::add_appfw_confidField::errorcode="+str(e.errorcode)+",message="+ e.message)
  651.         except Exception as e:
  652.             print("Exception::add_appfw_confidField::message="+str(e.args))
  653.        
  654.     def add_csvserver(self, client) :
  655.         try :
  656.             obj = csvserver()
  657.             obj.name = "cs_vip"
  658.             obj.servicetype = csvserver.Servicetype.HTTP
  659.             obj.ipv46 = "9.1.1.8"
  660.             obj.port = 80
  661.             csvserver.add(client, obj)
  662.             print("add_csvserver - Done")
  663.         except nitro_exception as e :
  664.             print("Exception::add_csvserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  665.         except Exception as e:
  666.             print("Exception::add_csvserver::message="+str(e.args))
  667.        
  668.    
  669.    
  670.     def update_lbvserver(self, client) :
  671.         try :
  672.             obj = lbvserver()
  673.             obj.name = "lb_vip"
  674.             obj.comment = "Modified the comments. update resources works fine."
  675.             obj.lbmethod = lbvserver.Lbmethod.LEASTBANDWIDTH
  676.             lbvserver.update(client, obj)
  677.             print("update_lbvserver - Done")
  678.         except nitro_exception as e :
  679.             print("Exception::update_lbvserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  680.         except Exception as e:
  681.             print("Exception::update_lbvserver::message="+str(e.args))
  682.        
  683.    
  684.    
  685.    
  686.     def bindlbvserver_rewritepol(self, client) :
  687.         try :
  688.             rwact = rewriteaction()
  689.             rwact.name = "act1"
  690.             rwact.type = rewriteaction.Type.delete_http_header
  691.             rwact.target = "Host"
  692.             rewriteaction.add(client, rwact)
  693.             rwpol = rewritepolicy()
  694.             rwpol.name = "pol123"
  695.             rwpol.action = "act1"
  696.             rwpol.rule = "TRUE"
  697.             rewritepolicy.add(client, rwpol)
  698.             bindrwpol = lbvserver_rewritepolicy_binding()
  699.             bindrwpol.name = "lb_vip"
  700.             bindrwpol.policyname = "pol123"
  701.             bindrwpol.priority = 77
  702.             bindrwpol.bindpoint = lbvserver_rewritepolicy_binding.Bindpoint.REQUEST
  703.             lbvserver_rewritepolicy_binding.add(client, bindrwpol)
  704.             print("bindlbvserver_rewritepol - Done")
  705.         except nitro_exception as e :
  706.             print("Exception::bindlbvserver_rewritepol::errorcode="+str(e.errorcode)+",message="+ e.message)
  707.         except Exception as e:
  708.             print("Exception::bindlbvserver_rewritepol::message="+str(e.args))
  709.        
  710.    
  711.  
  712.     def add_lbvs_bulk(self, client) :
  713.         try :
  714.             lb = [lbvserver() for _ in range(2)]
  715.             lb[0].name = "lb1"
  716.             lb[0].servicetype = lbvserver.Servicetype.HTTP
  717.            
  718.             lb[1].name = "lb2"
  719.             lb[1].servicetype = lbvserver.Servicetype.SSL
  720.            
  721.             lbvserver.add(client, lb)
  722.             print("add_lbvs_bulk - Done")
  723.             lbvserver.enable(client, lb)
  724.             print("enable bulk resources - Done")
  725.         except nitro_exception as e :
  726.             print("Exception::add_lbvs_bulk::errorcode="+str(e.errorcode)+",message="+ e.message)
  727.         except Exception as e:
  728.             print("Exception::add_lbvs_bulk::message="+str(e.args))
  729.        
  730.    
  731.    
  732.     def bind_systemgroup_systemuser(self, client) :
  733.         try :
  734.             systemgroup_systemuser_binding1 = systemgroup_systemuser_binding()
  735.             systemgroup_systemuser_binding1.groupname = "g1"
  736.             systemgroup_systemuser_binding1.username = "user1"
  737.             result = systemgroup_systemuser_binding.add(client,systemgroup_systemuser_binding1)
  738.             print("bind_systemgroup_systemuser::rc="+result.errorcode+ ", Message ="+result.message)
  739.         except nitro_exception as e :
  740.             print("Exception::bind_systemgroup_systemuser::rc="+str(e.errorcode)+" , Message ="+ e.message)
  741.         except Exception as e:
  742.             print("Exception::bind_systemgroup_systemuser::message="+str(e.args))
  743.    
  744.    
  745.     def bind_vpnvserver_vpnclientlessacesspolicy(self, client) :
  746.         try :
  747.             vpnvserver_vpnclientlessaccesspolicy_binding1 = vpnvserver_vpnclientlessaccesspolicy_binding()
  748.             vpnvserver_vpnclientlessaccesspolicy_binding1.policy = "clientlesspol1"
  749.             vpnvserver_vpnclientlessaccesspolicy_binding1.priority = 1
  750.             vpnvserver_vpnclientlessaccesspolicy_binding1.name = "vpnvserver1"
  751.             result =vpnvserver_vpnclientlessaccesspolicy_binding.add(client,vpnvserver_vpnclientlessaccesspolicy_binding1)
  752.             print("bind_vpnvserver_vpnclientlessacesspolicy::rc="+result.errorcode+ ", Message ="+result.message)
  753.         except nitro_exception as e :
  754.             print("Exception::bind_vpnvserver_vpnclientlessacesspolicy::rc="+str(e.errorcode)+" , Message ="+ e.message)
  755.         except Exception as e:
  756.             print("Exception::bind_vpnvserver_vpnclientlessacesspolicy::message="+str(e.args))
  757.    
  758.    
  759.    
  760.     def addlbvserver_bindings(self, client) :
  761.         try :
  762.             obj = lbvserver_service_binding()
  763.             obj.name = "lb_vip"
  764.             obj.servicename = "svc10"
  765.             obj.weight = 77
  766.             lbvserver_service_binding.add(client, obj)
  767.             lbvserver_service_binding.delete(client, obj)
  768.             print("addlbvserver_bindings - Done")
  769.             svc = [ service() for _ in range(2)]
  770.             svc[0].name = "svc_1"
  771.             svc[0].ip = "1.1.1.1"
  772.             svc[0].port = 80
  773.             svc[0].servicetype = service.Servicetype.HTTP
  774.  
  775.             svc[1].name = "svc_2"
  776.             svc[1].ip = "1.1.1.1"
  777.             svc[1].port = 81
  778.             svc[1].servicetype = service.Servicetype.HTTP
  779.  
  780.             bindsvc = [lbvserver_service_binding() for _ in range(2)]
  781.             bindsvc[0].name = "lb_vip"
  782.             bindsvc[0].servicename = "svc_1"
  783.             bindsvc[0].weight = 20
  784.  
  785.             bindsvc[1].name = "lb_vip"
  786.             bindsvc[1].servicename = "svc_2"
  787.             bindsvc[1].weight = 30
  788.  
  789.             service.add(client, svc)
  790.             lbvserver_service_binding.add(client, bindsvc)         
  791.             print("addlbvserver_bindings - Done")
  792.         except nitro_exception as e :
  793.             print("Exception::addlbvserver_bindings::errorcode="+str(e.errorcode)+",message="+ e.message)
  794.         except Exception as e:
  795.             print("Exception::addlbvserver_bindings::message="+str(e.args))
  796.        
  797.    
  798.  
  799.     def enable_lbvserver(self, client) :
  800.         try :
  801.             lbvserver.enable(client,"lb_vip")
  802.             print("enable_lbvserver - Done")
  803.         except nitro_exception as e :
  804.             print("Exception::enable_lbvserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  805.         except Exception as e:
  806.             print("Exception::enable_lbvserver::message="+str(e.args))
  807.        
  808.    
  809.  
  810.     def disable_lbvserver(self, client) :
  811.         try :
  812.             lbvserver.disable(client, "lb_vip")
  813.             print("disable_lbvserver - Done")
  814.         except nitro_exception as e :
  815.             print("Exception::disable_lbvserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  816.         except Exception as e:
  817.             print("Exception::disable_lbvserver::message="+str(e.args))
  818.        
  819.    
  820.  
  821.     def rename_lbvserver(self, client, name, newname) :
  822.         try :
  823.             obj = lbvserver()
  824.             obj.name = name
  825.             lbvserver.rename(client, obj, newname)
  826.             print("rename_lbvserver - Done")
  827.         except nitro_exception as e :
  828.             print("Exception::rename_lbvserver::errorcode="+str(e.errorcode)+",message="+ e.message)
  829.         except Exception as e:
  830.             print("Exception::rename_lbvserver::message="+str(e.args))
  831.  
  832.     def enable_nsfeature(self, client) :
  833.         try :
  834.             feature = [nsfeature.Feature.BGP, nsfeature.Feature.REWRITE]
  835.             client.enable_features(feature)
  836.             print("enable_nsfeature - Done")
  837.         except nitro_exception as e :
  838.             print("Exception::enable_nsfeature::errorcode="+str(e.errorcode)+",message="+ e.message)
  839.         except Exception as e:
  840.             print("Exception::enable_nsfeature::message="+str(e.args))
  841.  
  842.     def disable_nsfeature(self, client) :
  843.         try :
  844.             feature = [nsfeature.Feature.BGP, nsfeature.Feature.REWRITE]
  845.             client.disable_features(feature)
  846.             print("disable_nsfeature - Done")
  847.         except nitro_exception as e :
  848.             print("Exception::disable_nsfeature::errorcode="+str(e.errorcode)+",message="+ e.message)
  849.         except Exception as e:
  850.             print("Exception::disable_nsfeature::message="+str(e.args))
  851.  
  852.     def enable_nsmode(self, client) :
  853.         try :
  854.             mode = [nsmode.Mode.L2, nsmode.Mode.CKA]
  855.             client.enable_modes(mode)
  856.             print("enable_nsmode - Done")
  857.         except nitro_exception as e :
  858.             print("Exception::enable_nsmode::errorcode="+str(e.errorcode)+",message="+ e.message)
  859.         except Exception as e:
  860.             print("Exception::enable_nsmode::message="+str(e.args))
  861.  
  862.     def disable_nsmode(self, client) :
  863.         try :
  864.             mode = [nsmode.Mode.L2, nsmode.Mode.CKA]
  865.             client.disable_modes(mode)
  866.             print("disable_nsmode - Done")
  867.         except nitro_exception as e :
  868.             print("Exception::disable_nsmode::errorcode="+str(e.errorcode)+",message="+ e.message)
  869.         except Exception as e:
  870.             print("Exception::disable_nsmode::message="+str(e.args))
  871.    
  872.     def addcspolicy(self, client) :
  873.         try :
  874.             obj = cspolicy()
  875.             obj.policyname = "cs_pol"
  876.             obj.rule = "HTTP.REQ.HEADER(\"host\").Length != 7"
  877.             cspolicy.add(client, obj)
  878.             print("addcspolicy - Done")
  879.         except nitro_exception as e :
  880.             print("Exception::addcspolicy::errorcode="+str(e.errorcode)+",message="+ e.message)
  881.         except Exception as e:
  882.             print("Exception::addcspolicy::message="+str(e.args))
  883.        
  884.    
  885.    
  886.     def bind_gslbvs_domain(self, client) :
  887.         try :
  888.             obj = gslbvserver_domain_binding()
  889.             obj.name = "gsv1"
  890.             obj.domainname = "my.dd.com"
  891.             gslbvserver_domain_binding.add(client, obj)
  892.             print("bind_gslbvs_domain - Done")
  893.         except nitro_exception as e :
  894.             print("Exception::bind_gslbvs_domain::errorcode="+str(e.errorcode)+",message="+ e.message)
  895.         except Exception as e:
  896.             print("Exception::bind_gslbvs_domain::message="+str(e.args))
  897.        
  898.    
  899.    
  900.     def unbind_gslbvs_domain(self, client) :
  901.         try :
  902.             obj = gslbvserver_domain_binding()
  903.             obj.name = "gsv1"
  904.             obj.domainname = "my.dd.com"
  905.             gslbvserver_domain_binding.delete(client, obj)
  906.             print("unbind_gslbvs_domain - Done")
  907.         except nitro_exception as e :
  908.             print("Exception::unbind_gslbvs_domain::errorcode="+str(e.errorcode)+",message="+ e.message)
  909.         except Exception as e:
  910.             print("Exception::unbind_gslbvs_domain::message="+str(e.args))
  911.        
  912.    
  913.    
  914.     def forceha_sync(self, client) :
  915.         try :
  916.             client.forcehasync(True, "YES")
  917.             print("forceha_sync - Done")
  918.         except nitro_exception as e :
  919.             print("Exception::forceha_sync::errorcode="+str(e.errorcode)+",message="+ e.message)
  920.         except Exception as e:
  921.             print("Exception::forceha_sync::message="+str(e.args))
  922.        
  923.    
  924.  
  925.     def forceha_failover(self, client) :
  926.         try :
  927.             client.forcehafailover(True)
  928.             print("forceha_failover - Done")
  929.         except nitro_exception as e :
  930.             print("Exception::forceha_failover::errorcode="+str(e.errorcode)+",message="+ e.message)
  931.         except Exception as e:
  932.             print("Exception::forceha_failover::message="+str(e.args))
  933.        
  934.     def run_sample(self, client) :
  935.         self.clearconfig(client)
  936.         self.add_lbvserver(client)
  937.         self.flush_cacheobj(client)
  938.         self.add_gslb_vserver(client)
  939.         self.add_gslb_site(client)
  940.         self.add_gslb_service(client)
  941.         self.add_service(client)
  942.         self.bind_gslbvserver_gslbservice(client)
  943.         self.set_gslb_vserver_timeout(client)
  944.         self.unset_gslb_vserver_timeout(client)
  945.         self.enable_gslb_vserver(client)
  946.         self.disable_gslb_vserver(client)
  947.         self.rename_gslb_vserver(client)
  948.         self.set_gslb_service_cip(client)
  949.         self.unset_gslb_service_cip(client)
  950.         self.rename_gslb_service(client)
  951.         self.set_gslb_site_metricexchange(client)
  952.         self.unset_gslb_site_metricexchange(client)
  953.         self.nsconfig_diff(client)
  954.         self.saveconfig(client)
  955.         self.add_appfwprofile(client)
  956.         self.update_appfwprofile(client)
  957.         self.add_monitor(client)
  958.         self.add_appfw_confidField(client)
  959.         self.add_lbvserver_post(client)
  960.         self.update_lbvserver(client)
  961.         self.addlbvserver_bindings(client)
  962.         self.add_lbvs_bulk(client)
  963.         self.enable_lbvserver(client)
  964.         self.disable_lbvserver(client)
  965.         self.rename_lbvserver(client,"lb_vip", "lb_vip2")
  966.         self.rename_lbvserver(client,"lb_vip2", "lb_vip")
  967.         self.saveconfig(client)
  968.         self.enable_nsfeature(client)
  969.         self.disable_nsfeature(client)
  970.         self.bindlbvserver_rewritepol(client)
  971.         self.add_csvserver(client)
  972.         self.enable_nsmode(client)
  973.         self.disable_nsmode(client)
  974.         self.addcspolicy(client)
  975.         self.add_snmpgroup(client)
  976.         self.bind_gslbvs_domain(client)
  977.         self.unbind_gslbvs_domain(client)
  978.         self.add_sslcipher(client)
  979.         self.bind_authvs_authlocalpolicy(client)
  980.         self.renumber_nsacls(client)
  981.         self.add_filter_pol(client)
  982.         self.Update_certkey(client)
  983.         self.bind_csvs_cmppol(client)
  984.         self.bind_vpnvserver_vpnclientlessacesspolicy(client)
  985.         self.bind_systemgroup_systemuser(client)
  986.         self.bind_servicegroup_server(client)
  987.         self.apply_nspbrs(client)
  988.         self.clear_nspbrs(client)
  989.         self.bind_authvs_nspol(client)
  990.         self.set_filter_policy(client)
  991.         self.creat_ssldhparam(client)
  992.         self.create_sslpkcs12(client)
  993.         self.convert_sslpkcs8(client)
  994.         self.bindsslvs_cert(client)
  995.  
  996.  
  997. #
  998. # Main thread of execution
  999. #
  1000.  
  1001. if __name__ == '__main__':
  1002.     try:
  1003.         if len(sys.argv) != 4:
  1004.             sys.exit()
  1005.         else:
  1006.             ipaddress=sys.argv[1]
  1007.             username=sys.argv[2]
  1008.             password=sys.argv[3]
  1009.             set_config().main(set_config(),sys.argv)
  1010.     except SystemExit:
  1011.         print("Exception::Usage: Sample.py <directory path of Nitro.py> <nsip> <username> <password>")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement