@@ -288,29 +288,60 @@ const getStacks = async (account: AWSAccountInfo, region: string, regionsEnabled
288288 return [ ] ;
289289 }
290290
291- const stacks = await cfnClient
292- . listStacks ( {
293- StackStatusFilter : [
294- 'CREATE_COMPLETE' ,
295- 'ROLLBACK_FAILED' ,
296- 'DELETE_FAILED' ,
297- 'UPDATE_COMPLETE' ,
298- 'UPDATE_ROLLBACK_FAILED' ,
299- 'UPDATE_ROLLBACK_COMPLETE' ,
300- 'IMPORT_COMPLETE' ,
301- 'IMPORT_ROLLBACK_FAILED' ,
302- 'IMPORT_ROLLBACK_COMPLETE' ,
303- ] ,
304- } )
305- . promise ( ) ;
291+ // const stacks = await cfnClient
292+ // .listStacks({
293+ // StackStatusFilter: [
294+ // 'CREATE_COMPLETE',
295+ // 'ROLLBACK_FAILED',
296+ // 'DELETE_FAILED',
297+ // 'UPDATE_COMPLETE',
298+ // 'UPDATE_ROLLBACK_FAILED',
299+ // 'UPDATE_ROLLBACK_COMPLETE',
300+ // 'IMPORT_COMPLETE',
301+ // 'IMPORT_ROLLBACK_FAILED',
302+ // 'IMPORT_ROLLBACK_COMPLETE',
303+ // ],
304+ // })
305+ // .promise();
306+ let allStacks : AWS . CloudFormation . StackSummary [ ] = [ ] ;
307+ let nextToken : string | undefined ;
308+
309+ do {
310+ const response = await cfnClient
311+ . listStacks ( {
312+ StackStatusFilter : [
313+ 'CREATE_COMPLETE' ,
314+ 'ROLLBACK_FAILED' ,
315+ 'DELETE_FAILED' ,
316+ 'UPDATE_COMPLETE' ,
317+ 'UPDATE_ROLLBACK_FAILED' ,
318+ 'UPDATE_ROLLBACK_COMPLETE' ,
319+ 'IMPORT_COMPLETE' ,
320+ 'IMPORT_ROLLBACK_FAILED' ,
321+ 'IMPORT_ROLLBACK_COMPLETE' ,
322+ ] ,
323+ NextToken : nextToken
324+ } )
325+ . promise ( ) ;
326+
327+ if ( response . StackSummaries ) {
328+ allStacks = allStacks . concat ( response . StackSummaries ) ;
329+ }
330+
331+ nextToken = response . NextToken ;
332+ // Optional: Log progress
333+ console . log ( `Fetched ${ response . StackSummaries ?. length || 0 } stacks. NextToken: ${ nextToken ? 'Present' : 'None' } ` ) ;
334+
335+ } while ( nextToken ) ;
336+
306337
307- console . log ( stacks ) ;
308- console . log ( "*****fstack status filtering ****************" )
338+ console . log ( allStacks ) ;
339+ console . log ( "*****stack status filtering ****************" , region )
309340
310341 // We are interested in only the root stacks that are deployed by amplify-cli
311342 const specificPattern = / ^ a m p l i f y - .* - i n t e g t e s t - [ a - z 0 - 9 ] + $ / ;
312343 // const rootStacks = stacks.StackSummaries.filter(stack => !stack.RootId);
313- const rootStacks = stacks . StackSummaries . filter ( stack => specificPattern . test ( stack . StackName ) ) ;
344+ const rootStacks = allStacks . filter ( stack => specificPattern . test ( stack . StackName ) ) ;
314345 const results : StackInfo [ ] = [ ] ;
315346 for ( const stack of rootStacks ) {
316347 try {
@@ -797,7 +828,7 @@ const cleanupAccount = async (account: AWSAccountInfo, accountIndex: number, fil
797828 const staleResources = _ . pickBy ( allResources , filterPredicate ) ;
798829
799830 generateReport ( staleResources , accountIndex ) ;
800- await deleteResources ( account , accountIndex , stacks ) ;
831+ // await deleteResources(account, accountIndex, stacks);
801832 console . log ( `${ generateAccountInfo ( account , accountIndex ) } Cleanup done!` ) ;
802833} ;
803834
0 commit comments