@@ -608,6 +608,10 @@ def handle_delete(
608608):
609609 # else equals_code is 404 and no need to delete because he doesn't exist
610610 if equals_code == 200 :
611+ if module .check_mode :
612+ result ["changed" ] = True
613+ result ["message" ] = "This would delete the object"
614+ return
611615 payload_for_delete = extract_payload_with_some_params (
612616 payload , delete_params
613617 )
@@ -621,7 +625,10 @@ def handle_delete(
621625 True ,
622626 )
623627 result ["changed" ] = True
624-
628+ else :
629+ if module .check_mode :
630+ result ["changed" ] = False
631+ result ["message" ] = "The object does not exist, no deletion would occur"
625632
626633# handle the call and set the result with 'changed' and the response
627634def handle_call_and_set_result (
@@ -641,20 +648,19 @@ def api_call(module, api_call_object):
641648 version = get_version (module )
642649
643650 result = {"changed" : False }
644- if module .check_mode :
645- return result
646651
647652 payload_for_equals = {"type" : api_call_object , "params" : payload }
648653 equals_code , equals_response = send_request (
649654 connection , version , "equals" , payload_for_equals
650655 )
651- result ["checkpoint_session_uid" ] = connection .get_session_uid ()
652656 handle_equals_failure (module , equals_code , equals_response )
653657
654658 if module .params ["state" ] == "present" :
655659 if equals_code == 200 :
656660 # else objects are equals and there is no need for set request
657661 if not equals_response ["equals" ]:
662+ if module .check_mode :
663+ return {"changed" : True , "message" : "This would edit the object" }
658664 build_payload (
659665 api_call_object , payload , remove_from_set_payload
660666 )
@@ -666,7 +672,12 @@ def api_call(module, api_call_object):
666672 module ,
667673 result ,
668674 )
675+ else :
676+ if module .check_mode :
677+ return {"changed" : False , "message" : "Object exists with desired configuration" }
669678 elif equals_code == 404 :
679+ if module .check_mode :
680+ return {"changed" : True , "message" : "This would create the object" }
670681 build_payload (api_call_object , payload , remove_from_add_payload )
671682 handle_call_and_set_result (
672683 connection ,
@@ -687,7 +698,8 @@ def api_call(module, api_call_object):
687698 module ,
688699 result ,
689700 )
690-
701+ if not module .check_mode :
702+ result ["checkpoint_session_uid" ] = connection .get_session_uid ()
691703 return result
692704
693705
@@ -1332,8 +1344,6 @@ def api_call_for_rule(module, api_call_object):
13321344 version = get_version (module )
13331345
13341346 result = {"changed" : False }
1335- if module .check_mode :
1336- return result
13371347
13381348 if is_access_rule :
13391349 copy_payload_without_some_params = extract_payload_without_some_params (
@@ -1366,6 +1376,8 @@ def api_call_for_rule(module, api_call_object):
13661376 equals_response ["equals" ] = False
13671377 # else objects are equals and there is no need for set request
13681378 if not equals_response ["equals" ]:
1379+ if module .check_mode :
1380+ return {"changed" : True , "message" : "This would edit the object" }
13691381 # if user insert param 'position' and needed to use the 'set' command, change the param name to 'new-position'
13701382 if "position" in payload :
13711383 payload ["new-position" ] = payload ["position" ]
@@ -1380,7 +1392,12 @@ def api_call_for_rule(module, api_call_object):
13801392 module ,
13811393 result ,
13821394 )
1395+ else :
1396+ if module .check_mode :
1397+ return {"changed" : False , "message" : "Object exists with desired configuration" }
13831398 elif equals_code == 404 :
1399+ if module .check_mode :
1400+ return {"changed" : True , "message" : "This would create the object" }
13841401 if "search-entire-rulebase" in payload :
13851402 del payload ["search-entire-rulebase" ]
13861403 handle_call_and_set_result (
@@ -1402,7 +1419,8 @@ def api_call_for_rule(module, api_call_object):
14021419 module ,
14031420 result ,
14041421 )
1405-
1422+ if not module .check_mode :
1423+ result ["checkpoint_session_uid" ] = connection .get_session_uid ()
14061424 return result
14071425
14081426
0 commit comments