- 
                Notifications
    You must be signed in to change notification settings 
- Fork 540
Open
cloudquery/plugin-sdk
#2287Description
Context
The SDK allows using a PreResourceResolver resolver to implement a list/detail pattern in a performant way (running the detail in parallel). This works well in most case where the details API accepts a single item and returns a single item such as 
| input := acm.DescribeCertificateInput{CertificateArn: resource.Item.(types.CertificateSummary).CertificateArn} | 
Problem
Some details APIs accept an array of items and return an array of items so they can't be used with PreResourceResolver. For example:
| out, err := svc.DescribeFindings(ctx, &inspector.DescribeFindingsInput{FindingArns: response.FindingArns}) | 
To make things more complicated in the example above ⬆️ the list operation has a max items of 100, and the details operation has a max items of 10 🙃
Proposed solutions
- Change the signature of PreResourceResolverto support an array of items
- Add new methods to RowResolverto handle it (not sure we can)
- Need to look at the code more...
hermanschaaf