Skip to content

Commit a462de5

Browse files
omerdemirokactions-user
authored andcommitted
feat: add gcp compute backend service adapter (#1376)
Resolves #1375 GitOrigin-RevId: 11cd715f5b348e9dd7169bb01cc7e0569d92b6fd
1 parent 64f96e1 commit a462de5

33 files changed

+991
-103
lines changed

sdp-go/account.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/apikeys.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/auth0support.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/bookmarks.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/changes.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/cli.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/config.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/gateway.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/invites.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/items.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/logs.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/responses.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/revlink.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/snapshots.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdp-go/util.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sources/gcp/adapters/adapters.go

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,51 @@ func Adapters(ctx context.Context, projectID string, regions []string, zones []s
2525
return nil, err
2626
}
2727

28+
autoscalerCli, err := compute.NewAutoscalersRESTClient(ctx)
29+
if err != nil {
30+
return nil, err
31+
}
32+
33+
computeImagesCli, err := compute.NewImagesRESTClient(ctx)
34+
if err != nil {
35+
return nil, err
36+
}
37+
38+
computeForwardingCli, err := compute.NewForwardingRulesRESTClient(ctx)
39+
if err != nil {
40+
return nil, err
41+
}
42+
43+
backendServiceCli, err := compute.NewBackendServicesRESTClient(ctx)
44+
if err != nil {
45+
return nil, err
46+
}
47+
2848
var adapters []discovery.Adapter
2949

3050
for _, region := range regions {
31-
adapter := sources.WrapperToAdapter(
32-
NewComputeAddress(shared.NewComputeAddressClient(addressCli), projectID, region),
51+
adapters = append(adapters,
52+
sources.WrapperToAdapter(NewComputeAddress(shared.NewComputeAddressClient(addressCli), projectID, region)),
53+
sources.WrapperToAdapter(NewComputeForwardingRule(shared.NewComputeForwardingRuleClient(computeForwardingCli), projectID, region)),
3354
)
34-
35-
Metadata.Register(adapter.Metadata())
36-
37-
adapters = append(adapters, adapter)
3855
}
3956

4057
for _, zone := range zones {
41-
adapter := sources.WrapperToAdapter(
42-
NewComputeInstance(shared.NewComputeInstanceClient(instanceCli), projectID, zone),
58+
adapters = append(adapters,
59+
sources.WrapperToAdapter(NewComputeInstance(shared.NewComputeInstanceClient(instanceCli), projectID, zone)),
60+
sources.WrapperToAdapter(NewComputeAutoscaler(shared.NewComputeAutoscalerClient(autoscalerCli), projectID, zone)),
4361
)
62+
}
4463

45-
Metadata.Register(adapter.Metadata())
64+
// global - project level - adapters
65+
adapters = append(adapters,
66+
sources.WrapperToAdapter(NewComputeBackendService(shared.NewComputeBackendServiceClient(backendServiceCli), projectID)),
67+
sources.WrapperToAdapter(NewComputeImage(shared.NewComputeImagesClient(computeImagesCli), projectID)),
68+
)
4669

47-
adapters = append(adapters, adapter)
70+
// Register the metadata for each adapter
71+
for _, adapter := range adapters {
72+
Metadata.Register(adapter.Metadata())
4873
}
4974

5075
return adapters, nil

sources/gcp/adapters/compute-autoscaler.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ import (
66
"strings"
77

88
"cloud.google.com/go/compute/apiv1/computepb"
9+
"google.golang.org/api/iterator"
10+
911
"github.com/overmindtech/cli/sdp-go"
1012
"github.com/overmindtech/cli/sources"
1113
gcpshared "github.com/overmindtech/cli/sources/gcp/shared"
1214
"github.com/overmindtech/cli/sources/shared"
13-
"google.golang.org/api/iterator"
1415
)
1516

1617
var (
@@ -28,8 +29,8 @@ type computeAutoscalerWrapper struct {
2829
*gcpshared.ZoneBase
2930
}
3031

31-
// Create a new computeAutoscalerWrapper instance.
32-
func NewComputeAutoscalerWrapper(client gcpshared.ComputeAutoscalerClient, projectID, zone string) sources.ListableWrapper {
32+
// NewComputeAutoscaler creates a new computeAutoscalerWrapper instance.
33+
func NewComputeAutoscaler(client gcpshared.ComputeAutoscalerClient, projectID, zone string) sources.ListableWrapper {
3334
return &computeAutoscalerWrapper{
3435
client: client,
3536
ZoneBase: gcpshared.NewZoneBase(

sources/gcp/adapters/compute-autoscaler_test.go

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

77
"cloud.google.com/go/compute/apiv1/computepb"
8+
"go.uber.org/mock/gomock"
9+
"google.golang.org/api/iterator"
10+
"k8s.io/utils/ptr"
11+
812
"github.com/overmindtech/cli/sdp-go"
913
"github.com/overmindtech/cli/sources"
1014
"github.com/overmindtech/cli/sources/gcp/adapters"
1115
"github.com/overmindtech/cli/sources/gcp/shared/mocks"
1216
"github.com/overmindtech/cli/sources/shared"
13-
"go.uber.org/mock/gomock"
14-
"google.golang.org/api/iterator"
15-
"k8s.io/utils/ptr"
1617
)
1718

1819
func TestComputeAutoscalerWrapper(t *testing.T) {
@@ -26,7 +27,7 @@ func TestComputeAutoscalerWrapper(t *testing.T) {
2627

2728
t.Run("Get", func(t *testing.T) {
2829
// Attach mock client to our wrapper.
29-
wrapper := adapters.NewComputeAutoscalerWrapper(mockClient, projectID, zone)
30+
wrapper := adapters.NewComputeAutoscaler(mockClient, projectID, zone)
3031

3132
mockClient.EXPECT().Get(ctx, gomock.Any()).Return(createAutoscalerApiFixture("test-autoscaler"), nil)
3233

@@ -97,7 +98,7 @@ func TestComputeAutoscalerWrapper(t *testing.T) {
9798
})
9899

99100
t.Run("List", func(t *testing.T) {
100-
wrapper := adapters.NewComputeAutoscalerWrapper(mockClient, projectID, zone)
101+
wrapper := adapters.NewComputeAutoscaler(mockClient, projectID, zone)
101102

102103
adapter := sources.WrapperToAdapter(wrapper)
103104

0 commit comments

Comments
 (0)