Skip to content

Commit cdbdbe2

Browse files
committed
clean up relationships api
1 parent 03e46f1 commit cdbdbe2

File tree

8 files changed

+63
-96
lines changed

8 files changed

+63
-96
lines changed

cmd/ctrlc/root/apply/relationships.go

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -72,33 +72,21 @@ func createRelationshipRequestBody(workspaceId string, relationship ResourceRela
7272
WorkspaceId: workspaceId,
7373
Reference: relationship.Reference,
7474
DependencyType: api.ResourceRelationshipRuleDependencyType(relationship.DependencyType),
75-
MetadataKeysMatches: &[]struct {
76-
SourceKey string `json:"sourceKey"`
77-
TargetKey string `json:"targetKey"`
78-
}{},
79-
TargetMetadataEquals: &[]struct {
80-
Key string `json:"key"`
81-
Value string `json:"value"`
82-
}{},
75+
MetadataKeysMatches: &[]api.MetadataKeyMatchConstraint{},
76+
TargetMetadataEquals: &[]api.MetadataEqualsConstraint{},
8377
}
8478

8579
if relationship.Target != nil {
8680
config.TargetKind = relationship.Target.Kind
8781
config.TargetVersion = relationship.Target.Version
8882

8983
if relationship.Target.MetadataEquals != nil {
90-
targetMetadataEquals := []struct {
91-
Key string `json:"key"`
92-
Value string `json:"value"`
93-
}{}
84+
targetMetadataEquals := []api.MetadataEqualsConstraint{}
9485

9586
for key, value := range relationship.Target.MetadataEquals {
96-
targetMetadataEquals = append(targetMetadataEquals, struct {
97-
Key string `json:"key"`
98-
Value string `json:"value"`
99-
}{
100-
Key: key,
101-
Value: value,
87+
targetMetadataEquals = append(targetMetadataEquals, api.MetadataEqualsConstraint{
88+
Key: &key,
89+
Value: &value,
10290
})
10391
}
10492

@@ -112,10 +100,7 @@ func createRelationshipRequestBody(workspaceId string, relationship ResourceRela
112100
}
113101

114102
if relationship.MetadataKeysMatch != nil {
115-
metadataKeysMatches := []struct {
116-
SourceKey string `json:"sourceKey"`
117-
TargetKey string `json:"targetKey"`
118-
}{}
103+
metadataKeysMatches := []api.MetadataKeyMatchConstraint{}
119104

120105
for _, match := range relationship.MetadataKeysMatch {
121106
metadataKeysMatch, err := createMetadataKeysMatch(match)
@@ -134,7 +119,7 @@ func createRelationshipRequestBody(workspaceId string, relationship ResourceRela
134119
if config.TargetMetadataEquals != nil && len(*config.TargetMetadataEquals) > 0 {
135120
fmt.Println("MetadataTargetEquals:")
136121
for _, kv := range *config.TargetMetadataEquals {
137-
fmt.Printf(" Key: %s, Value: %s\n", kv.Key, kv.Value)
122+
fmt.Printf(" Key: %s, Value: %s\n", *kv.Key, *kv.Value)
138123
}
139124
}
140125

cmd/ctrlc/root/sync/aws/eks/eks.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -293,10 +293,7 @@ var relationshipRules = []api.CreateResourceRelationshipRule{
293293
TargetVersion: "ctrlplane.dev/network/v1",
294294
TargetKind: "AmazonNetwork",
295295

296-
MetadataKeysMatches: &[]struct {
297-
SourceKey string `json:"sourceKey"`
298-
TargetKey string `json:"targetKey"`
299-
}{
296+
MetadataKeysMatches: &[]api.MetadataKeyMatchConstraint{
300297
{SourceKey: "aws/region", TargetKey: "aws/region"},
301298
{SourceKey: "network/name", TargetKey: "network/name"},
302299
},

cmd/ctrlc/root/sync/aws/rds/rds.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,10 +468,7 @@ var relationshipRules = []api.CreateResourceRelationshipRule{
468468
TargetVersion: "ctrlplane.dev/network/v1",
469469
TargetKind: "AmazonNetwork",
470470

471-
MetadataKeysMatches: &[]struct {
472-
SourceKey string `json:"sourceKey"`
473-
TargetKey string `json:"targetKey"`
474-
}{
471+
MetadataKeysMatches: &[]api.MetadataKeyMatchConstraint{
475472
{SourceKey: "aws/region", TargetKey: "aws/region"},
476473
{SourceKey: "network/name", TargetKey: "network/name"},
477474
},

cmd/ctrlc/root/sync/azure/aks/aks.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -421,10 +421,7 @@ var relationshipRules = []api.CreateResourceRelationshipRule{
421421
TargetVersion: "ctrlplane.dev/network/v1",
422422
TargetKind: "AzureNetwork",
423423

424-
MetadataKeysMatches: &[]struct {
425-
SourceKey string `json:"sourceKey"`
426-
TargetKey string `json:"targetKey"`
427-
}{
424+
MetadataKeysMatches: &[]api.MetadataKeyMatchConstraint{
428425
{SourceKey: "azure/subscription", TargetKey: "azure/subscription"},
429426
{SourceKey: "azure/resource-group", TargetKey: "azure/resource-group"},
430427
},

cmd/ctrlc/root/sync/google/cloudsql/cloudsql.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,10 +382,7 @@ var relationshipRules = []api.CreateResourceRelationshipRule{
382382
TargetVersion: "ctrlplane.dev/network/v1",
383383
TargetKind: "GoogleNetwork",
384384

385-
MetadataKeysMatches: &[]struct {
386-
SourceKey string `json:"sourceKey"`
387-
TargetKey string `json:"targetKey"`
388-
}{
385+
MetadataKeysMatches: &[]api.MetadataKeyMatchConstraint{
389386
{SourceKey: "google/project", TargetKey: "google/project"},
390387
{SourceKey: "network/id", TargetKey: "network/id"},
391388
},

cmd/ctrlc/root/sync/google/gke/gke.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,10 +389,7 @@ var relationshipRules = []api.CreateResourceRelationshipRule{
389389
TargetVersion: "ctrlplane.dev/network/v1",
390390
TargetKind: "GoogleNetwork",
391391

392-
MetadataKeysMatches: &[]struct {
393-
SourceKey string `json:"sourceKey"`
394-
TargetKey string `json:"targetKey"`
395-
}{
392+
MetadataKeysMatches: &[]api.MetadataKeyMatchConstraint{
396393
{SourceKey: "google/project", TargetKey: "google/project"},
397394
{SourceKey: "network/id", TargetKey: "network/id"},
398395
},

cmd/ctrlc/root/sync/kubernetes/vcluster.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"encoding/json"
66
"fmt"
7+
"maps"
78
"strconv"
89
"time"
910

@@ -95,11 +96,8 @@ func generateVclusterMetadata(vcluster find.VCluster, clusterMetadata api.Metada
9596
}
9697
}
9798

98-
if clusterMetadata != nil {
99-
for key, value := range clusterMetadata {
100-
metadata[key] = value
101-
}
102-
}
99+
100+
maps.Copy(metadata, clusterMetadata)
103101

104102
return metadata, nil
105103
}
@@ -163,10 +161,7 @@ func createResourceRelationshipRule(ctx context.Context, resourceProvider *api.R
163161
return fmt.Errorf("unsupported cluster kind: %s", clusterResource.Kind)
164162
}
165163

166-
metadataKeysMatches := []struct {
167-
SourceKey string `json:"sourceKey"`
168-
TargetKey string `json:"targetKey"`
169-
}{
164+
metadataKeysMatches := []api.MetadataKeyMatchConstraint{
170165
{SourceKey: metadataKey, TargetKey: metadataKey},
171166
}
172167

internal/api/client.gen.go

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

0 commit comments

Comments
 (0)