Skip to content

Commit b01e6ca

Browse files
authored
feat(aws): EMR Clusters to use PreResourceResolver (#2411)
Should fix #2392
1 parent c085e90 commit b01e6ca

File tree

3 files changed

+22
-13
lines changed

3 files changed

+22
-13
lines changed

plugins/source/aws/codegen/recipes/emr.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@ func EMRResources() []*Resource {
2929
},
3030
},
3131
{
32-
SubService: "clusters",
33-
Struct: &types.Cluster{},
34-
SkipFields: []string{"ClusterArn", "Tags"},
32+
SubService: "clusters",
33+
Struct: &types.Cluster{},
34+
SkipFields: []string{"ClusterArn", "Tags"},
35+
PreResourceResolver: "getCluster",
3536
ExtraColumns: append(
3637
defaultRegionalColumns,
3738
[]codegen.ColumnDefinition{

plugins/source/aws/resources/services/emr/clusters.go

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugins/source/aws/resources/services/emr/clusters_fetch.go

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55

66
"github.com/aws/aws-sdk-go-v2/aws"
77
"github.com/aws/aws-sdk-go-v2/service/emr"
8+
"github.com/aws/aws-sdk-go-v2/service/emr/types"
89
"github.com/cloudquery/cloudquery/plugins/source/aws/client"
910
"github.com/cloudquery/plugin-sdk/schema"
1011
)
@@ -18,17 +19,23 @@ func fetchEmrClusters(ctx context.Context, meta schema.ClientMeta, parent *schem
1819
if err != nil {
1920
return err
2021
}
21-
for _, c := range response.Clusters {
22-
out, err := svc.DescribeCluster(ctx, &emr.DescribeClusterInput{ClusterId: c.Id})
23-
if err != nil {
24-
return err
25-
}
26-
res <- out.Cluster
27-
}
22+
res <- response.Clusters
23+
2824
if aws.ToString(response.Marker) == "" {
2925
break
3026
}
3127
config.Marker = response.Marker
3228
}
3329
return nil
3430
}
31+
32+
func getCluster(ctx context.Context, meta schema.ClientMeta, resource *schema.Resource) error {
33+
c := meta.(*client.Client)
34+
svc := c.Services().EMR
35+
response, err := svc.DescribeCluster(ctx, &emr.DescribeClusterInput{ClusterId: resource.Item.(types.ClusterSummary).Id})
36+
if err != nil {
37+
return err
38+
}
39+
resource.Item = response.Cluster
40+
return nil
41+
}

0 commit comments

Comments
 (0)