summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul C. Buetow (mars.fritz.box) <paul@buetow.org>2014-05-16 19:25:24 +0200
committerPaul C. Buetow (mars.fritz.box) <paul@buetow.org>2014-05-16 19:25:24 +0200
commitca3cc055141608890cf29a60aaa1a15eb19037e6 (patch)
tree348c296bb4746e70a984aa5cec1e3a8a3bdcb198 /src
parentbd872471737964416061c8d061b21bd93e6a0635 (diff)
parent2fd8de973452707d3e1d2d7ea5228e8914ca0d03 (diff)
Merge branch 'master' into develop
Diffstat (limited to 'src')
-rwxr-xr-xsrc/fapi16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/fapi b/src/fapi
index 1418aea..0a78306 100755
--- a/src/fapi
+++ b/src/fapi
@@ -89,10 +89,11 @@ class FapiBase(object):
' vserver',
' vserver NAME create [protocol] [profile] [poolname] [mask]',
' vserver NAME delete',
- ' vserver NAME get brief|detail|status',
+ ' vserver NAME get brief|detail|status|vlan',
' vserver NAME set nat|pat disabled|enabled',
' vserver NAME set pool POOLNAME',
- ' vserver NAME set snat none'
+ ' vserver NAME set snat automap|none',
+ ' vserver NAME set vlan [list,of,vlans,to,allow]'
+ reset,
'The following partially needs admininstrator privileges on / and /Common',
style +
@@ -453,6 +454,8 @@ class Fapi(FapiBase):
return lambda: brief(f5)
elif a.sub2 == 'status':
return lambda: f5().get_object_status([name])
+ elif a.sub2 == 'vlan':
+ return lambda: f5().get_vlan([name])
elif a.sub == 'create':
protocol = a.sub2 if a.sub2 else 'PROTOCOL_TCP'
if a.sub3:
@@ -503,6 +506,15 @@ class Fapi(FapiBase):
elif a.sub2 == 'snat':
if a.sub3 == 'none':
return lambda: f5().set_source_address_translation_none([name])
+ elif a.sub3 == 'automap':
+ return lambda: f5().set_source_address_translation_automap([name])
+ elif a.sub2 == 'vlan':
+ vlans = a.sub3.split(',') if a.sub3 else []
+ vlan_filter_list = {
+ 'state': 'STATE_ENABLED',
+ 'vlans': vlans
+ }
+ return lambda: f5().set_vlan([name], [vlan_filter_list])
def __do_vip(self, f5):
''' Do stuff concerning virtual addresses '''