Skip to content

Commit 9ce827d

Browse files
authored
CDPCP-13570 Fixed an issue where tags in requests were populated with the same key (#189)
1 parent 1772bea commit 9ce827d

File tree

5 files changed

+26
-6
lines changed

5 files changed

+26
-6
lines changed

resources/datahub/converter.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,11 @@ func fromModelToAwsRequest(model awsDatahubResourceModel, ctx context.Context) *
7373
req.Tags = make([]*datahubmodels.DatahubResourceTagRequest, len(model.Tags.Elements()))
7474
i := 0
7575
for k, v := range model.Tags.Elements() {
76+
key := k
7677
val, diag := v.(basetypes.StringValuable).ToStringValue(ctx)
7778
if !diag.HasError() {
7879
req.Tags[i] = &datahubmodels.DatahubResourceTagRequest{
79-
Key: &k,
80+
Key: &key,
8081
Value: val.ValueStringPointer(),
8182
}
8283
}
@@ -161,10 +162,11 @@ func fromModelToGcpRequest(model gcpDatahubResourceModel, ctx context.Context) *
161162
req.Tags = make([]*datahubmodels.GCPDatahubResourceTagRequest, len(model.Tags.Elements()))
162163
i := 0
163164
for k, v := range model.Tags.Elements() {
165+
key := k
164166
val, diag := v.(basetypes.StringValuable).ToStringValue(ctx)
165167
if !diag.HasError() {
166168
req.Tags[i] = &datahubmodels.GCPDatahubResourceTagRequest{
167-
Key: &k,
169+
Key: &key,
168170
Value: val.ValueStringPointer(),
169171
}
170172
}
@@ -242,10 +244,11 @@ func fromModelToAzureRequest(model azureDatahubResourceModel, ctx context.Contex
242244
req.Tags = make([]*datahubmodels.DatahubResourceTagRequest, len(model.Tags.Elements()))
243245
i := 0
244246
for k, v := range model.Tags.Elements() {
247+
key := k
245248
val, diag := v.(basetypes.StringValuable).ToStringValue(ctx)
246249
if !diag.HasError() {
247250
req.Tags[i] = &datahubmodels.DatahubResourceTagRequest{
248-
Key: &k,
251+
Key: &key,
249252
Value: val.ValueStringPointer(),
250253
}
251254
}

resources/datahub/converter_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,20 @@ func TestFromModelToRequestClusterDefinition(t *testing.T) {
164164
test.CompareStrings(got.ClusterDefinition, input.ClusterDefinition.ValueString(), t)
165165
}
166166

167+
func TestFromModelToRequestTags(t *testing.T) {
168+
tags, _ := types.MapValue(types.StringType, map[string]attr.Value{
169+
"key1": types.StringValue("value1"),
170+
"key2": types.StringValue("value2"),
171+
"key3": types.StringValue("value3"),
172+
})
173+
input := awsDatahubResourceModel{Tags: tags}
174+
got := fromModelToAwsRequest(input, context.TODO())
175+
176+
test.CompareStrings(*got.Tags[0].Value, input.Tags.Elements()["key1"].(types.String).ValueString(), t)
177+
test.CompareStrings(*got.Tags[1].Value, input.Tags.Elements()["key2"].(types.String).ValueString(), t)
178+
test.CompareStrings(*got.Tags[2].Value, input.Tags.Elements()["key3"].(types.String).ValueString(), t)
179+
}
180+
167181
func TestFromModelToGcpRequestBasicFields(t *testing.T) {
168182
tags, _ := types.MapValue(types.StringType, map[string]attr.Value{"key": types.StringValue("value")})
169183
image, _ := types.ObjectValue(map[string]attr.Type{

resources/datalake/converter_gcp.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,11 @@ func toGcpDatalakeRequest(ctx context.Context, model *gcpDatalakeResourceModel)
6666
req.Tags = make([]*datalakemodels.DatalakeResourceGCPTagRequest, len(model.Tags.Elements()))
6767
i := 0
6868
for k, v := range model.Tags.Elements() {
69+
key := k
6970
val, diag := v.(basetypes.StringValuable).ToStringValue(ctx)
7071
if !diag.HasError() {
7172
req.Tags[i] = &datalakemodels.DatalakeResourceGCPTagRequest{
72-
Key: &k,
73+
Key: &key,
7374
Value: val.ValueStringPointer(),
7475
}
7576
}

resources/datalake/resource_aws_datalake.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,11 @@ func toAwsDatalakeRequest(ctx context.Context, model *awsDatalakeResourceModel)
9292
req.Tags = make([]*datalakemodels.DatalakeResourceTagRequest, len(model.Tags.Elements()))
9393
i := 0
9494
for k, v := range model.Tags.Elements() {
95+
key := k
9596
val, diag := v.(basetypes.StringValuable).ToStringValue(ctx)
9697
if !diag.HasError() {
9798
req.Tags[i] = &datalakemodels.DatalakeResourceTagRequest{
98-
Key: &k,
99+
Key: &key,
99100
Value: val.ValueStringPointer(),
100101
}
101102
}

resources/datalake/resource_azure_datalake.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,11 @@ func toAzureDatalakeRequest(ctx context.Context, model *azureDatalakeResourceMod
8888
req.Tags = make([]*datalakemodels.DatalakeResourceTagRequest, len(model.Tags.Elements()))
8989
i := 0
9090
for k, v := range model.Tags.Elements() {
91+
key := k
9192
val, diag := v.(basetypes.StringValuable).ToStringValue(ctx)
9293
if !diag.HasError() {
9394
req.Tags[i] = &datalakemodels.DatalakeResourceTagRequest{
94-
Key: &k,
95+
Key: &key,
9596
Value: val.ValueStringPointer(),
9697
}
9798
}

0 commit comments

Comments
 (0)