@@ -334,26 +334,26 @@ def start_update(self):
334334
335335 return DSSFuture (self .client , future_response .get ('jobId' , None ), future_response )
336336
337- def delete (self , force = False ):
337+ def delete (self , disable_first = False ):
338338 """
339- Deletes this deployment.
339+ Deletes this deployment. The disable_first flag automatically disables the deployment
340+ before its deletion.
340341
341- :param boolean force: If True, automatically disables deployment before deletion
342+ :param boolean disable_first: If True, automatically disables deployment.
343+ If False, attempting to delete an enabled deployment will raise an Exception.
342344
343- You may only delete a deployment if it is disabled and has been updated after disabling it.
344345 """
345346
346- # Check is the deployment is disabled
347- is_enabled = self .get_status ().light_status .get ("deploymentBasicInfo" ).get ("enabled" )
348- if (is_enabled and force ) or (not is_enabled ):
349- if force :
350- settings = self .get_settings ()
351- settings .set_enabled (enabled = False )
352- settings .save ()
353- return self .client ._perform_empty (
354- "DELETE" , "/api-deployer/deployments/%s" % (self .deployment_id ))
355- else :
347+ # Check if the deployment is disabled
348+ is_enabled = self .get_status ().light_status ["deploymentBasicInfo" ].get ("enabled" )
349+ if is_enabled and not disable_first :
356350 raise Exception ("Deployment {} deletion failed: deployment must be disabled first." .format (self .deployment_id ))
351+ if is_enabled :
352+ settings = self .get_settings ()
353+ settings .set_enabled (enabled = False )
354+ settings .save ()
355+ return self .client ._perform_empty (
356+ "DELETE" , "/api-deployer/deployments/%s" % (self .deployment_id ))
357357
358358
359359
0 commit comments