func getAllStackResources()

in bucket-utils/awsutils.go [74:93]


func getAllStackResources(ctx context.Context, cfnClient *cloudformation.Client, stackName string) ([]cfnTypes.StackResourceSummary, error) {
	var allStackResources []cfnTypes.StackResourceSummary

	firstResources, err := cfnClient.ListStackResources(ctx, &cloudformation.ListStackResourcesInput{StackName: &stackName})
	if err != nil {
		return nil, err
	}
	allStackResources = append(allStackResources, firstResources.StackResourceSummaries...)

	var nextToken = firstResources.NextToken
	for nextToken != nil {
		resources, err := cfnClient.ListStackResources(ctx, &cloudformation.ListStackResourcesInput{StackName: &stackName, NextToken: nextToken})
		if err != nil {
			return nil, err
		}
		allStackResources = append(allStackResources, resources.StackResourceSummaries...)
		nextToken = resources.NextToken
	}
	return allStackResources, nil
}