Skip to content

Commit 3b4ec7d

Browse files
committed
breaking_change(rabbitmq): TlsProtocols is now an array of strings instead of a single string
Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
1 parent 61c8ff2 commit 3b4ec7d

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

stackit/internal/services/rabbitmq/instance/resource.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ type parametersModel struct {
6767
Roles types.List `tfsdk:"roles"`
6868
Syslog types.List `tfsdk:"syslog"`
6969
TlsCiphers types.List `tfsdk:"tls_ciphers"`
70-
TlsProtocols types.String `tfsdk:"tls_protocols"`
70+
TlsProtocols types.List `tfsdk:"tls_protocols"`
7171
}
7272

7373
// Types corresponding to parametersModel
@@ -84,7 +84,7 @@ var parametersTypes = map[string]attr.Type{
8484
"roles": basetypes.ListType{ElemType: types.StringType},
8585
"syslog": basetypes.ListType{ElemType: types.StringType},
8686
"tls_ciphers": basetypes.ListType{ElemType: types.StringType},
87-
"tls_protocols": basetypes.StringType{},
87+
"tls_protocols": basetypes.ListType{ElemType: types.StringType},
8888
}
8989

9090
// NewInstanceResource is a helper function to simplify the provider implementation.
@@ -749,7 +749,6 @@ func toInstanceParams(parameters *parametersModel) (*rabbitmq.InstanceParameters
749749
payloadParams.MetricsFrequency = conversion.Int64ValueToPointer(parameters.MetricsFrequency)
750750
payloadParams.MetricsPrefix = conversion.StringValueToPointer(parameters.MetricsPrefix)
751751
payloadParams.MonitoringInstanceId = conversion.StringValueToPointer(parameters.MonitoringInstanceId)
752-
payloadParams.TlsProtocols = rabbitmq.InstanceParametersGetTlsProtocolsAttributeType(conversion.StringValueToPointer(parameters.TlsProtocols))
753752

754753
var err error
755754
payloadParams.Plugins, err = conversion.StringListToPointer(parameters.Plugins)
@@ -772,6 +771,11 @@ func toInstanceParams(parameters *parametersModel) (*rabbitmq.InstanceParameters
772771
return nil, fmt.Errorf("converting tls_ciphers: %w", err)
773772
}
774773

774+
payloadParams.TlsProtocols, err = conversion.StringListToPointer(parameters.TlsProtocols)
775+
if err != nil {
776+
return nil, fmt.Errorf("converting tls_protocol_versions: %w", err)
777+
}
778+
775779
return payloadParams, nil
776780
}
777781

stackit/internal/services/rabbitmq/instance/resource_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ var fixtureModelParameters = types.ObjectValueMust(parametersTypes, map[string]a
3737
types.StringValue("ciphers1"),
3838
types.StringValue("ciphers2"),
3939
}),
40-
"tls_protocols": types.StringValue(string(rabbitmq.INSTANCEPARAMETERSTLS_PROTOCOLS__2)),
40+
"tls_protocols": types.ListValueMust(types.StringType, []attr.Value{
41+
types.StringValue("tlsv1.2"),
42+
types.StringValue("tlsv1.3"),
43+
}),
4144
})
4245

4346
var fixtureInstanceParameters = rabbitmq.InstanceParameters{
@@ -53,7 +56,7 @@ var fixtureInstanceParameters = rabbitmq.InstanceParameters{
5356
Roles: &[]string{"role1", "role2"},
5457
Syslog: &[]string{"syslog", "syslog2"},
5558
TlsCiphers: &[]string{"ciphers1", "ciphers2"},
56-
TlsProtocols: rabbitmq.INSTANCEPARAMETERSTLS_PROTOCOLS__2.Ptr(),
59+
TlsProtocols: &[]string{"tlsv1.2", "tlsv1.3"},
5760
}
5861

5962
func TestMapFields(t *testing.T) {
@@ -105,7 +108,7 @@ func TestMapFields(t *testing.T) {
105108
"roles": []string{"role1", "role2"},
106109
"syslog": []string{"syslog", "syslog2"},
107110
"tls-ciphers": []string{"ciphers1", "ciphers2"},
108-
"tls-protocols": string(rabbitmq.INSTANCEPARAMETERSTLS_PROTOCOLS__2),
111+
"tls-protocols": []string{"tlsv1.2", "tlsv1.3"},
109112
},
110113
},
111114
Model{

0 commit comments

Comments
 (0)