@@ -210,7 +210,7 @@ class Apigw {
210210 }
211211 }
212212
213- async createOrUpdateApi ( { serviceId, endpoint } ) {
213+ async createOrUpdateApi ( { serviceId, endpoint, created } ) {
214214 const output = {
215215 path : endpoint . path ,
216216 method : endpoint . method ,
@@ -298,6 +298,7 @@ class Apigw {
298298 apiId : endpoint . apiId ,
299299 ...apiInputs ,
300300 } ) ;
301+ output . created = ! ! created ;
301302 output . apiId = endpoint . apiId ;
302303 output . internalDomain = apiDetail . InternalDomain ;
303304 console . log ( `Service with id ${ output . apiId } updated.` ) ;
@@ -307,9 +308,9 @@ class Apigw {
307308 return output ;
308309 }
309310
310- async setupUsagePlanSecret ( { secretName, secretIds } ) {
311+ async setupUsagePlanSecret ( { secretName, secretIds, created } ) {
311312 const secretIdsOutput = {
312- created : false ,
313+ created : ! ! created ,
313314 secretIds,
314315 } ;
315316
@@ -321,7 +322,7 @@ class Apigw {
321322 SecretName : secretName ,
322323 AccessKeyType : 'auto' ,
323324 } ) ;
324- console . log ( `Secret key with ID ${ AccessKeyId } and key ${ AccessKeySecret } updated. ` ) ;
325+ console . log ( `Secret key with ID ${ AccessKeyId } and key ${ AccessKeySecret } created ` ) ;
325326 secretIdsOutput . secretIds = [ AccessKeyId ] ;
326327 secretIdsOutput . created = true ;
327328 } else {
@@ -614,14 +615,13 @@ class Apigw {
614615
615616 if ( exist ) {
616617 endpoint . apiId = exist . apiId ;
618+ endpoint . created = exist . created ;
617619 }
618620 const curApi = await this . createOrUpdateApi ( {
619621 serviceId,
620622 endpoint,
623+ created : exist && exist . created ,
621624 } ) ;
622- if ( exist ) {
623- curApi . created = true ;
624- }
625625
626626 // set api auth and use plan
627627 if ( endpoint . auth ) {
@@ -636,10 +636,16 @@ class Apigw {
636636 // store in api list
637637 curApi . usagePlan = usagePlan ;
638638
639- const { secretIds = [ ] } = endpoint . auth ;
639+ let secretCreated = false ;
640+ let { secretIds = [ ] } = endpoint . auth ;
641+ if ( exist && exist . usagePlan && exist . usagePlan . secrets ) {
642+ secretIds = secretIds . concat ( exist . usagePlan . secrets . secretIds ) ;
643+ secretCreated = exist . usagePlan . secrets . created ;
644+ }
640645 const secrets = await this . setupUsagePlanSecret ( {
641646 secretName : endpoint . auth . secretName ,
642647 secretIds,
648+ created : secretCreated ,
643649 } ) ;
644650
645651 const unboundSecretIds = await this . getUnboundSecretIds ( {
@@ -688,7 +694,7 @@ class Apigw {
688694 console . log ( `Deploy service with id ${ serviceId } successfully.` ) ;
689695
690696 const outputs = {
691- created : serviceCreated ,
697+ created : serviceCreated || oldState . created ,
692698 serviceId,
693699 serviceName,
694700 subDomain,
@@ -810,16 +816,16 @@ class Apigw {
810816 }
811817 }
812818
813- // 3. unrelease service
814- console . log ( `Unreleasing service: ${ serviceId } , environment: ${ environment } ` ) ;
815- await this . removeOrUnbindRequest ( {
816- Action : 'UnReleaseService' ,
817- serviceId,
818- environmentName : environment ,
819- } ) ;
820- console . log ( `Unrelease service: ${ serviceId } , environment: ${ environment } success` ) ;
821-
822819 if ( created === true ) {
820+ // unrelease service
821+ console . log ( `Unreleasing service: ${ serviceId } , environment: ${ environment } ` ) ;
822+ await this . removeOrUnbindRequest ( {
823+ Action : 'UnReleaseService' ,
824+ serviceId,
825+ environmentName : environment ,
826+ } ) ;
827+ console . log ( `Unrelease service: ${ serviceId } , environment: ${ environment } success` ) ;
828+
823829 // delete service
824830 console . log ( `Removing service: ${ serviceId } ` ) ;
825831 await this . removeOrUnbindRequest ( {
0 commit comments