import demowlcutils
from demowlcutils import ppxml, WLC_login
from pprint import pprint as pp
from lxml.builder import E
from lxml import etree
from jinja2 import Template

wlc = WLC_login()
rpc = wlc.RpcMaker('set')

# for this example we'll set an example site location of 'SVL' for all converted APs and
# assume that we are putting all site radios into the 'default' radio profile
site = 'SVL'
radioprofile = 'default'

# create a jinja2 template for a new AP
dap_j2 = Template(u"""
  <DAP apnum="{{ apnum }}" fingerprint="{{ fp }}" model="{{ model }}" name="{{ name }}" 
      port="{{ port }}" serial-id="{{ serial }}" type="NG">
    <AP-BOOTCONFIG boot-image=""/>
    <AP-RADIO-TABLE>
      <AP-RADIO antenna-mode="DUAL-BAND-3SS" antennatype="INTERNAL" auto-config="YES" 
          channel="6" designation="INDOOR" enable="YES" external-antennas="0" 
          force-rebalance="NO" load-balance-enable="YES" load-balance-group="" 
          max-tuned-power="default" min-tx-rate="" slot="1" tx-power="21" type="NG">
        <RADIO-PROFILE-REF name="{{ radio1profile }}"/>
      </AP-RADIO>
      <AP-RADIO antenna-mode="DUAL-BAND-3SS" antennatype="INTERNAL" auto-config="YES" 
        channel="36" designation="INDOOR" enable="YES" external-antennas="0" 
        force-rebalance="NO" load-balance-enable="YES" load-balance-group="" 
        max-tuned-power="default" min-tx-rate="" slot="2" tx-power="11" type="NA">
import demowlcutils
from demowlcutils import ppxml, WLC_login

wlc = WLC_login()

# -----------------------------------------------------------------------------

vlan_vars = {'name': 'Jeremy', 'number': '100'}

# use a template and render the vars immediately:
rpc = wlc.RpcMaker('SET', Template='vlan_create', TemplateVars=vlan_vars)

# alternatively you can invoke the render method if you don't provide
# TemplateVars in the constructor, for example:
# >>>
# vlan_vars['number'] = '200'
# rpc.render( vlan_vars )

print "Creating VLAN %s ..." % vlan_vars['name']

# execute the RPC and return the result
rsp = rpc()
import demowlcutils
from demowlcutils import ppxml, WLC_login
from pprint import pprint as pp

wlc = WLC_login()

vlan_vars = dict(number=100, ports=[dict(port=2, tag=50), dict(port=3)])

rpc = wlc.RpcMaker('set', Template='vlan_set_ports', TemplateVars=vlan_vars)

print "Settting ports on VLAN ..."
# rsp = rpc()