Skip to content

Commit

Permalink
feat: Paginate config results
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreZiviani committed May 16, 2023
1 parent aaf21ed commit 5d1eb61
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions internal/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,22 +132,28 @@ func (p *Config) QueryConfig(ctx context.Context) ([]string, error) {

}

// TODO: paginate
spanQuery, tmpctx := opentracing.StartSpanFromContext(ctx, "configquery")
result, err := configclient.SelectAggregateResourceConfig(tmpctx,
configPag := awsconfig.NewSelectAggregateResourceConfigPaginator(
configclient,
&awsconfig.SelectAggregateResourceConfigInput{
ConfigurationAggregatorName: aggregators[0].ConfigurationAggregatorName,
Expression: aws.String(query),
MaxResults: 100,
},
)
if err != nil {
fmt.Printf("failed to query config aggregator, %s\n", err)
return nil, err
results := make([]string, 0)
for configPag.HasMorePages() {
tmp, err := configPag.NextPage(ctx)
if err != nil {
fmt.Printf("failed to query config aggregator, %s\n", err)
return nil, err
}

results = append(results, tmp.Results...)
}
spanQuery.Finish()

span.Finish()
return result.Results, nil
return results, nil

}

0 comments on commit 5d1eb61

Please sign in to comment.