Adds missing fields for iapp service (#26507)

The iApp service module worked fine previously, but this patch
adds enhancements to it to include more fields that can be
specified when creating iapp services.
pull/26579/head
Tim Rupp 7 years ago committed by John R Barker
parent deae1499ed
commit 37ca55bf71

@ -159,7 +159,8 @@ from deepdiff import DeepDiff
class Parameters(AnsibleF5Parameters):
returnables = []
api_attributes = [
'tables', 'variables', 'template', 'lists'
'tables', 'variables', 'template', 'lists', 'deviceGroup',
'inheritedDevicegroup', 'inheritedTrafficGroup', 'trafficGroup'
]
updatables = ['tables', 'variables', 'lists']
@ -282,6 +283,14 @@ class Parameters(AnsibleF5Parameters):
self.variables = value['variables']
if 'lists' in value:
self.lists = value['lists']
if 'deviceGroup' in value:
self.deviceGroup = value['deviceGroup']
if 'inheritedDevicegroup' in value:
self.inheritedDevicegroup = value['inheritedDevicegroup']
if 'inheritedTrafficGroup' in value:
self.inheritedTrafficGroup = value['inheritedTrafficGroup']
if 'trafficGroup' in value:
self.trafficGroup = value['trafficGroup']
@property
def template(self):

@ -2,6 +2,10 @@
"name": "http_example",
"partition": "Common",
"template": "/Common/f5.http",
"inheritedDevicegroup": "true",
"deviceGroup": "none",
"inheritedTrafficGroup": "true",
"trafficGroup": "/Common/traffic-group-local-only",
"lists": [
{
"name": "irules__irules",

@ -83,6 +83,10 @@ class TestParameters(unittest.TestCase):
assert p.name == 'http_example'
assert p.partition == 'Common'
assert p.template == '/Common/f5.http'
assert p.deviceGroup == 'none'
assert p.inheritedTrafficGroup == 'true'
assert p.inheritedDevicegroup == 'true'
assert p.trafficGroup == '/Common/traffic-group-local-only'
def test_module_parameters_lists(self):
args = load_fixture('create_iapp_service_parameters_f5_http.json')
@ -197,6 +201,34 @@ class TestParameters(unittest.TestCase):
assert p.tables[0]['rows'][0]['row'] == ['12.12.12.12', '80', '0']
assert p.tables[0]['rows'][1]['row'] == ['13.13.13.13', '443', '10']
def test_api_parameters_device_group(self):
args = dict(
deviceGroup='none'
)
p = Parameters(args)
assert p.deviceGroup == 'none'
def test_api_parameters_inherited_traffic_group(self):
args = dict(
inheritedTrafficGroup='true'
)
p = Parameters(args)
assert p.inheritedTrafficGroup == 'true'
def test_api_parameters_inherited_devicegroup(self):
args = dict(
inheritedDevicegroup='true'
)
p = Parameters(args)
assert p.inheritedDevicegroup == 'true'
def test_api_parameters_traffic_group(self):
args = dict(
trafficGroup='/Common/traffic-group-local-only'
)
p = Parameters(args)
assert p.trafficGroup == '/Common/traffic-group-local-only'
def test_module_template_same_partition(self):
args = dict(
template='foo',

Loading…
Cancel
Save