func getAllStackSummaries()

in bucket-utils/awsutils.go [37:58]


func getAllStackSummaries(ctx context.Context, cfnClient *cloudformation.Client) ([]cfnTypes.StackSummary, error) {
	var allStackSummaries []cfnTypes.StackSummary

	firstStacks, err := cfnClient.ListStacks(ctx, &cloudformation.ListStacksInput{})
	if err != nil {
		return nil, err
	}
	allStackSummaries = append(allStackSummaries, firstStacks.StackSummaries...)

	var nextToken = firstStacks.NextToken
	for nextToken != nil {
		stacks, err := cfnClient.ListStacks(ctx, &cloudformation.ListStacksInput{NextToken: nextToken})
		if err != nil {
			return nil, err
		}
		allStackSummaries = append(allStackSummaries, stacks.StackSummaries...)
		nextToken = stacks.NextToken

	}
	fmt.Println("Found " + fmt.Sprint(len(allStackSummaries)) + " stacks in account.")
	return allStackSummaries, nil
}