summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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 '''