@@ -322,8 +322,12 @@ def api_call(module, api_call_object):
322322 if equals_code == 200 :
323323 # else objects are equals and there is no need for set request
324324 if not equals_response ['equals' ]:
325+ if 'lsm-cluster' == api_call_object :
326+ build_lsm_cluster_payload (payload , 'set' )
325327 handle_call_and_set_result (connection , version , 'set-' + api_call_object , payload , module , result )
326328 elif equals_code == 404 :
329+ if 'lsm-cluster' == api_call_object :
330+ build_lsm_cluster_payload (payload , 'add' )
327331 handle_call_and_set_result (connection , version , 'add-' + api_call_object , payload , module , result )
328332 elif module .params ['state' ] == 'absent' :
329333 handle_delete (equals_code , payload , delete_params , connection , version , api_call_object , module , result )
@@ -393,6 +397,17 @@ def build_rulebase_payload(api_call_object, payload, position_number):
393397 return rulebase_payload
394398
395399
400+ def build_lsm_cluster_payload (payload , operator ):
401+ fields = ['security-profile' , 'name-prefix' , 'name-suffix' , 'main-ip-address' ]
402+ if operator == 'add' :
403+ del payload ['name' ]
404+ else :
405+ for field in fields :
406+ if field in payload .keys ():
407+ del payload [field ]
408+ return payload
409+
410+
396411def build_rulebase_command (api_call_object ):
397412 rulebase_command = 'show-' + api_call_object .split ('-' )[0 ] + '-rulebase'
398413
0 commit comments