Module slb :: Class VirtualServer
[hide private]
[frames] | no frames]

Class VirtualServer

source code

   object --+    
            |    
base.AxObject --+
                |
               VirtualServer


Implementation of the aXAPI slb.virtual_server.* method to 
manage the SLB virtual servers as getAll/create/delete/update 

Usage:
    # Virtual server with parameters:
    # name         (required) virtual server name.
    #              Required one of the following token (address, subnet, acl_id, acl_name):
    # address        virtual server address, either IPv4 or IPv6
    # subnet         IPv4 subnet 
    #     address        address of subnet
    #     mask_len       the length of this subnet
    # acl_id         IPv4 ACL id
    # acl_name       IPv6 ACL name
    #
    # status         virtual server status, either enabled(1) or disabled(0)
    # arp_status     ARP disabled option, either disabled(0) or enabled(1)
    # stata_data     stats data option, either disabled(0) or enabled(1)
    # extended_stat  extended stat option, either disabled(0) or enabled(1)
    # disable_vserver_on_condition    disable vserver on conditions. Do not disable virtual server in any case(0), disable virtual server when any port down (1), disable virtual server when all ports down(2)
    # redistribution_flagged          redistribution flagged option, either disabled(0) or enabled(1)
    # ha_group       configured HA group
    #     group                  status of HA config
    #     ha_group_id            ha group id
    #     dynamic_server_weight  dynamic server weight
    # vip_template   virtual server template name
    # pbslb_template pbslb policy template name
    # vport_list     tag for virtual services
    #      protocol   (key) virtual service protocol with:
    #             TCP         2
    #             UDP         3
    #             Other       4
    #             RTSP        5
    #             FTP         6
    #             MMS         7
    #             SIP         8
    #             FAST-HTTP   9
    #             TCP-PROXY   10
    #             HTTP        11
    #             HTTPS       12
    #             SSL-PROXY   13
    #             SMTP        14
    #             SIP-TCP     15
    #             SIP-TLS     16
    #             DIAMETER    17
    #             DNS-UDP     18
    #             TFTP        19
    #      port       (key) virtual service port number
    #      service_group     service group assigned to the virtual service
    #      status            virtual service status either enabled(1) or disabled(0)
    #      connection_limit  connection limit of the virtual service
    #          status        connection limit status of the virtual service either enabled(1) or disabled(0)
    #          connection_limit           connection limit value
    #          connection_limit_action    connection limit action, either reset(1) or drop(0)
    #          connection_limit_log       connection limit logging, either enabled(1) or disabled(0)
    #      default_selection    use default server selection when preferred method fails, 
    #                           either enabled(1) or disabled(0) 
    #      received_hop         use received hop for response either enabled(1) or disabled(0)
    #      stats_data           stats data, either enabled(1) or disabled(0)
    #      extended_stats       extended stats, either enabled(1) or disabled(0)
    #      snat_against_vip     source nat traffic against vip either enabled(1) or disabled(0)
    #      vport_template       virtual server port template name
    #      port_acl_id          assigned access-list, ipv4 only
    #      pbslb_template       pbslb template
    #      aflex_list          aflex list
    #          aflex            name of aflex in aflex_list
    #      acl_natpool_binding_list    acl – natpool binding list
    #                    ***one of the follwing properties, acl_id or acl_name:
    #          acl_id                   ipv4 acl id
    #          acl_name                 IPv6 acl name
    #          nat_pool                 source nat pool name
    #
    #    protocol=HTTP:  vport has the following additional properties: 
    #      send_reset        send client reset when server selection fails, 
    #                        either enabled(1) or disabled(0)
    #      sync_cookie        syn cookie, either enabled(1) or disabled(0)
    #      source_nat            source NAT pool name
    #      http_template         HTTP template name
    #      ram_cache_template    RAM caching template name
    #      tcp_proxy_template    TCP-Proxy template name
    #      server_ssl_template   Server-SSL template name
    #      conn_reuse_template   Connection-Reuse template name
    #              ***one of the following properties, source_ip_persistence_template/cookie_persistence_template
    #      source_ip_persistence_template   Source-IP-Persistent template name
    #      cookie_persistence_template      cookie persistence template name
    #      
    #    protocol=HTTPS:  vport has the following additional properties:
    #      send_reset             send client reset when server selection fails, 
    #                             either enabled(1) or disabled(0)
    #      sync_cookie            syn cookie, either enabled(1) or disabled(0)
    #      source_nat             source NAT pool name
    #      http_template          HTTP template name
    #      ram_cache_template     RAM caching template name
    #      tcp_proxy_template     TCP-Proxy template name
    #      client_ssl_template    client ssl template
    #      server_ssl_template    Server-SSL template name
    #      conn_reuse_template    Connection-Reuse template name
    #              ***one of the following properties: source_ip_persistence_template/cookie_persistence_template
    #      source_ip_persistence_template  Source-IP-Persistent template name
    #      cookie_persistence_template     cookie persistence template name
    #
    #    protocol=FAST-HTTP:  vport has the following additional properties:
    #      send_reset              send client reset when server selection fails, 
    #                              either enabled(1) or disabled(0)
    #      sync_cookie             syn cookie, either enabled(1) or disabled(0)
    #      source_nat              source NAT pool name
    #      http_template           HTTP template name
    #      tcp_template            TCP template name
    #      conn_reuse_template     Connection-Reuse template name
    #              ***one of the following properties: source_ip_persistence_template/cookie_persistence_template
    #      source_ip_persistence_template   Source-IP-Persistent template name
    #      cookie_persistence_template      cookie persistence template name
    #
    #    protocol=TCP:  vport has the following additional properties:
    #      send_reset              send client reset when server selection fails, 
    #                              either enabled(1) or disabled(0)
    #      ha_connection_mirror    HA connection mirror enabled(1) or disabled (0)
    #      direct_server_return    direct server return (no destination NAT) enabled (1) or disabled (0)
    #      sync_cookie             syn cookie, either enabled(1) or disabled(0)
    #      source_nat              source NAT pool name
    #      tcp_template            TCP template name
    #              ***one of the following properties: source_ip_persistence_template/cookie_persistence_template
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #      cookie_persistence_template       cookie persistence template name
    #
    #    protocol=UDP:  vport has the following additional properties:
    #      ha_connection_mirror    HA connection mirror enabled(1) or disabled (0)
    #      direct_server_return    direct server return (no destination NAT) enabled (1) or disabled (0)
    #      source_nat              source NAT pool name
    #      udp_template            UDP template name
    #      dns_template            DNS template name
    #      source_ip_persistence_template   Source-IP-Persistent template name
    #
    #    protocol=RTSP:  vport has the following additional properties:
    #      send_reset        send client reset when server selection fails, 
    #      either enabled(1) or disabled(0)
    #      ha_connection_mirror    HA connection mirror enabled(1) or disabled (0)
    #      direct_server_return    direct server return (no destination NAT) enabled (1) or disabled (0)
    #      sync_cookie        syn cookie, either enabled(1) or disabled(0)
    #      tcp_template        TCP template name
    #      rtsp_template    RTSP template name
    #
    #    protocol=FTP:  vport has the following additional properties:
    #      send_reset        send client reset when server selection fails, 
    #      either enabled(1) or disabled(0)
    #      ha_connection_mirror    HA connection mirror enabled(1) or disabled (0)
    #      direct_server_return    direct server return (no destination NAT) enabled (1) or disabled (0)
    #      sync_cookie        syn cookie, either enabled(1) or disabled(0)
    #      source_nat        source NAT pool name
    #      tcp_template        TCP template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #
    #    protocol=MMS:  vport has the following additional properties:
    #      send_reset        send client reset when server selection fails, 
    #      either enabled(1) or disabled(0)
    #      ha_connection_mirror    HA connection mirror enabled(1) or disabled (0)
    #      sync_cookie        syn cookie, either enabled(1) or disabled(0)
    #      tcp_template        TCP template name
    #
    #    protocol=SSL-PROXY:  vport has the following additional properties:
    #      send_reset        send client reset when server selection fails, 
    #      either enabled(1) or disabled(0)
    #      sync_cookie        syn cookie, either enabled(1) or disabled(0)
    #      source_nat        source NAT pool name
    #      tcp_proxy_template        TCP-Proxy template name
    #      client_ssl_template        client ssl template
    #      server_ssl_template        Server-SSL template name
    #      conn_reuse_template    Connection-Reuse template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #
    #    protocol=SMTP-PROXY: vport has the following additional properties:
    #      send_reset           send client reset when server selection fails, 
    #                           either enabled(1) or disabled(0)
    #      sync_cookie          syn cookie, either enabled(1) or disabled(0)
    #      source_nat           source NAT pool name
    #      tcp_proxy_template   TCP-Proxy template name
    #      client_ssl_template  client ssl template
    #      smtp_template        Server-SSL template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #
    #    protocol=SIP:  vport has the following additional properties:
    #      send_reset              send client reset when server selection fails, 
    #                              either enabled(1) or disabled(0)
    #      ha_connection_mirror    HA connection mirror enabled(1) or disabled (0)
    #      udp_template            UDP template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #      sip_template            SIP template name
    #      dns_template            DNS template name
    #
    #    protocol=SIP-TCP:  vport has the following additional properties:
    #      send_reset                  send client reset when server selection fails, 
    #                                  either enabled(1) or disabled(0)
    #      sync_cookie                 syn cookie, either enabled(1) or disabled(0)
    #      source_nat                  source NAT pool name
    #      server_ssl_template         Server-SSL template name
    #      conn_reuse_template         Connection-Reuse template name
    #      tcp_proxy_template          TCP-Proxy template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #      sip_template                SIP template name
    #
    #    protocol=SIP-TLS:  vport has the following additional properties:
    #      send_reset                 send client reset when server selection fails, 
    #                                 either enabled(1) or disabled(0)
    #      sync_cookie                syn cookie, either enabled(1) or disabled(0)
    #      source_nat                 source NAT pool name
    #      client_ssl_template        client ssl template
    #      server_ssl_template        Server-SSL template name
    #      conn_reuse_template        Connection-Reuse template name
    #      tcp_proxy_template         TCP-Proxy template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #      sip_template               SIP template name
    #
    #    protocol=TCP-PROXY:  vport has the following additional properties:
    #      send_reset                send client reset when server selection fails, 
    #                                either enabled(1) or disabled(0)
    #      sync_cookie               syn cookie, either enabled(1) or disabled(0)
    #      source_nat                source NAT pool name
    #      tcp_proxy_template        TCP-Proxy template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #
    #    protocol=DNS-UDP:  vport has the following additional properties:
    #      send_reset                send client reset when server selection fails, 
    #                                either enabled(1) or disabled(0)
    #      source_nat                source NAT pool name
    #      udp_template              UDP template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #      dns_template              DNS template name
    #
    #     protocol=DIAMETER:  vport has the following additional properties:
    #      send_reset                  send client reset when server selection fails, 
    #                                  either enabled(1) or disabled(0)
    #      source_nat                  source NAT pool name
    #      udp_template                UDP template name
    #      source_ip_persistence_template    Source-IP-Persistent template name
    #      dns_template                DNS template name
    #
    #    protocol=TFTP:  vport has the following additional properties:
    #      ha_connection_mirror    HA connection mirror enabled(1) or disabled (0)
    #      direct_server_return    direct server return (no destination NAT) enabled (1)
    #      source_nat              source NAT pool name
    #      udp_template            UDP template name
    #
    #    protocol=OTHER:  vport has the following additional properties:
    #      direct_server_return   direct server return (no destination NAT) enabled (1)
    #      source_nat          source NAT pool name
    #      udp_template        UDP  template name
    #      l4_template_type    TCP (2) or UDP(3)
    #          ***one of the following properties: udp_template/tcp_template
    #      udp_template        UDP template name
    #      tcp_template        TCP template name
    
    # Example: 
    # create a virtual server, test_vip1, with address 100.10.10.1
    # and configure a HTTP service at port 80:
    vip1 = VirtualServer(name="test_vip1", address="100.10.10.1")
    vip1.vport_list = [{"port" : 80, "protocol": AxAPI.SVC_HTTP}]
    vip1.create()
    # disable the vip1 HTTP port 80:
    vip1.vport_list = [{"port" : 80, "protocol": AxAPI.SVC_HTTP, "status": AxAPI.STATUS_DISABLED}]
    vip1.update()
    # delete the vip1
    vip1.delete()

    # get all virtual server
    vip_list = VirtualServer.getAll()
    for avip in vip_list:
        # work on avip instance
        print avip
    # search a virtual server with name, vip2
    vip2 = VirtualServer.searchByName("vip2")

Instance Methods [hide private]
 
__init__(self, **params)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
create(self)
method: slb.virtual_server.create Create the virtual server.
source code
 
delete(self)
method: slb.virtual_server.delete Delete the virtual server.
source code
 
update(self)
method: slb.virtual_server.update Update the virtual server.
source code

Inherited from base.AxObject: __getattr__, __getitem__, __repr__, __setattr__, __setitem__, __str__, dump, get, getInfo, getObjectDict, getRequestPostDataJson, getRequestPostDataXml

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __sizeof__, __subclasshook__

Static Methods [hide private]
 
getAll()
method :slb.virtual_server.getAll Returns a list of virtual servers in VirtualServer instance.
source code
 
searchByName(name)
method: slb.virtual_server.search Search the virtual server by given name.
source code
Class Variables [hide private]
  __display__ = ['name', 'address', 'status']
  __obj_name__ = 'virtual_server'
  __xml_convrt__ = {'acl_natpool_binding_list': 'acl_natpool_bin...

Inherited from base.AxObject: __obj_readonly__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, **params)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

Class Variable Details [hide private]

__xml_convrt__

Value:
{'acl_natpool_binding_list': 'acl_natpool_binding',
 'aflex_list': 'aflex',
 'virtual_server_list': 'virtual_server',
 'vport_list': 'vport'}