@@ -478,16 +478,24 @@ class FullCloudFormationDeployment {
478
478
const startTime = new Date ( ) ;
479
479
480
480
if ( this . update ) {
481
- await this . cfn . updateStack ( {
482
- StackName : this . stackName ,
483
- ClientRequestToken : `update${ this . uuid } ` ,
484
- ...this . commonPrepareOptions ( ) ,
485
- ...this . commonExecuteOptions ( ) ,
486
- } ) . promise ( ) ;
487
-
488
- const ret = await this . monitorDeployment ( startTime , undefined ) ;
489
481
await this . updateTerminationProtection ( ) ;
490
- return ret ;
482
+
483
+ try {
484
+ await this . cfn . updateStack ( {
485
+ StackName : this . stackName ,
486
+ ClientRequestToken : `update${ this . uuid } ` ,
487
+ ...this . commonPrepareOptions ( ) ,
488
+ ...this . commonExecuteOptions ( ) ,
489
+ } ) . promise ( ) ;
490
+ } catch ( err : any ) {
491
+ if ( err . message === 'No updates are to be performed.' ) {
492
+ debug ( 'No updates are to be performed for stack %s' , this . stackName ) ;
493
+ return { noOp : true , outputs : this . cloudFormationStack . outputs , stackArn : this . cloudFormationStack . stackId } ;
494
+ }
495
+ throw err ;
496
+ }
497
+
498
+ return this . monitorDeployment ( startTime , undefined ) ;
491
499
} else {
492
500
// Take advantage of the fact that we can set termination protection during create
493
501
const terminationProtection = this . stackArtifact . terminationProtection ?? false ;
0 commit comments