@@ -169,6 +169,30 @@ class DeployCommand(BasicCommand):
169169 ' execute it to implement your changes.'
170170 )
171171 },
172+ {
173+ 'name' : 'disable-rollback' ,
174+ 'required' : False ,
175+ 'action' : 'store_true' ,
176+ 'group_name' : 'disable-rollback' ,
177+ 'dest' : 'disable_rollback' ,
178+ 'default' : False ,
179+ 'help_text' : (
180+ 'Preserve the state of previously provisioned resources when '
181+ 'the execute-change-set operation fails.'
182+ )
183+ },
184+ {
185+ 'name' : 'no-disable-rollback' ,
186+ 'required' : False ,
187+ 'action' : 'store_false' ,
188+ 'group_name' : 'disable-rollback' ,
189+ 'dest' : 'disable_rollback' ,
190+ 'default' : True ,
191+ 'help_text' : (
192+ 'Roll back all resource changes when the execute-change-set '
193+ 'operation fails.'
194+ )
195+ },
172196 {
173197 'name' : 'role-arn' ,
174198 'required' : False ,
@@ -291,13 +315,13 @@ def _run_main(self, parsed_args, parsed_globals):
291315 parameters , parsed_args .capabilities ,
292316 parsed_args .execute_changeset , parsed_args .role_arn ,
293317 parsed_args .notification_arns , s3_uploader ,
294- tags ,
295- parsed_args .fail_on_empty_changeset )
318+ tags , parsed_args . fail_on_empty_changeset ,
319+ parsed_args .disable_rollback )
296320
297321 def deploy (self , deployer , stack_name , template_str ,
298322 parameters , capabilities , execute_changeset , role_arn ,
299323 notification_arns , s3_uploader , tags ,
300- fail_on_empty_changeset = True ):
324+ fail_on_empty_changeset = True , disable_rollback = False ):
301325 try :
302326 result = deployer .create_and_wait_for_changeset (
303327 stack_name = stack_name ,
@@ -316,7 +340,8 @@ def deploy(self, deployer, stack_name, template_str,
316340 return 0
317341
318342 if execute_changeset :
319- deployer .execute_changeset (result .changeset_id , stack_name )
343+ deployer .execute_changeset (result .changeset_id , stack_name ,
344+ disable_rollback )
320345 deployer .wait_for_execute (stack_name , result .changeset_type )
321346 sys .stdout .write (self .MSG_EXECUTE_SUCCESS .format (
322347 stack_name = stack_name ))
0 commit comments