Skip to content

Commit 1690404

Browse files
committed
Review fixes
Signed-off-by: Tim Smith <tsmith84@gmail.com>
1 parent bf22d31 commit 1690404

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

providers/gcp/resources/pubsub.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"errors"
99
"fmt"
10+
"strconv"
1011
"time"
1112

1213
"cloud.google.com/go/pubsub"
@@ -314,6 +315,9 @@ func (g *mqlGcpProjectPubsubServiceSubscription) config() (*mqlGcpProjectPubsubS
314315
"projectId": llx.StringData(projectId),
315316
"name": llx.StringData(cfg.Topic.ID()),
316317
})
318+
if err != nil {
319+
return nil, err
320+
}
317321

318322
pushConfig, err := CreateResource(g.MqlRuntime, "gcp.project.pubsubService.subscription.config.pushconfig", map[string]*llx.RawData{
319323
"configId": llx.StringData(pubsubConfigId(projectId, s.ID())),
@@ -438,13 +442,14 @@ func (g *mqlGcpProjectPubsubServiceTopic) iamPolicy() ([]any, error) {
438442
return nil, err
439443
}
440444

441-
res := []any{}
442-
for i, role := range policy.Roles() {
443-
members := policy.Members(role)
445+
bindings := policy.InternalProto.Bindings
446+
res := make([]any, 0, len(bindings))
447+
topicPath := fmt.Sprintf("projects/%s/topics/%s", projectId, name)
448+
for i, b := range bindings {
444449
mqlBinding, err := CreateResource(g.MqlRuntime, "gcp.resourcemanager.binding", map[string]*llx.RawData{
445-
"id": llx.StringData(fmt.Sprintf("projects/%s/topics/%s-%d", projectId, name, i)),
446-
"role": llx.StringData(string(role)),
447-
"members": llx.ArrayData(convert.SliceAnyToInterface(members), types.String),
450+
"id": llx.StringData(topicPath + "-" + strconv.Itoa(i)),
451+
"role": llx.StringData(b.Role),
452+
"members": llx.ArrayData(convert.SliceAnyToInterface(b.Members), types.String),
448453
})
449454
if err != nil {
450455
return nil, err
@@ -485,13 +490,14 @@ func (g *mqlGcpProjectPubsubServiceSubscription) iamPolicy() ([]any, error) {
485490
return nil, err
486491
}
487492

488-
res := []any{}
489-
for i, role := range policy.Roles() {
490-
members := policy.Members(role)
493+
bindings := policy.InternalProto.Bindings
494+
res := make([]any, 0, len(bindings))
495+
subPath := fmt.Sprintf("projects/%s/subscriptions/%s", projectId, name)
496+
for i, b := range bindings {
491497
mqlBinding, err := CreateResource(g.MqlRuntime, "gcp.resourcemanager.binding", map[string]*llx.RawData{
492-
"id": llx.StringData(fmt.Sprintf("projects/%s/subscriptions/%s-%d", projectId, name, i)),
493-
"role": llx.StringData(string(role)),
494-
"members": llx.ArrayData(convert.SliceAnyToInterface(members), types.String),
498+
"id": llx.StringData(subPath + "-" + strconv.Itoa(i)),
499+
"role": llx.StringData(b.Role),
500+
"members": llx.ArrayData(convert.SliceAnyToInterface(b.Members), types.String),
495501
})
496502
if err != nil {
497503
return nil, err

0 commit comments

Comments
 (0)