-
Notifications
You must be signed in to change notification settings - Fork 0
/
mapper.go
88 lines (72 loc) · 2.23 KB
/
mapper.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package env
import (
"github.com/altinity/terraform-provider-altinitycloud/internal/sdk/client"
"github.com/hashicorp/terraform-plugin-framework/attr"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-framework/types/basetypes"
)
func SetToModel(input []string) types.Set {
zones := []attr.Value{}
for _, str := range input {
zones = append(zones, types.StringValue(str))
}
list, _ := types.SetValue(types.StringType, zones)
return list
}
func ListToModel(input []string) types.List {
zones := []attr.Value{}
for _, str := range input {
zones = append(zones, types.StringValue(str))
}
list, _ := types.ListValue(types.StringType, zones)
return list
}
func ReservationsToModel(input []client.NodeReservation) types.Set {
zones := []attr.Value{}
for _, reservation := range input {
zones = append(zones, types.StringValue(string(reservation)))
}
list, _ := types.SetValue(types.StringType, zones)
return list
}
func ListStringToSDK(input []basetypes.StringValue) []string {
var list []string
for _, str := range input {
list = append(list, str.ValueString())
}
return list
}
func ListStringToModel(input []string) []types.String {
var list []types.String
for _, str := range input {
list = append(list, types.StringValue(str))
}
return list
}
func KeyValueToSDK(input []KeyValueModel) []*client.KeyValueInput {
var list []*client.KeyValueInput
for _, element := range input {
list = append(list, &client.KeyValueInput{
Key: element.Key.ValueString(),
Value: element.Value.ValueString(),
})
}
return list
}
func MaintenanceWindowsToSDK(maintenanceWindows []MaintenanceWindowModel) []*client.MaintenanceWindowSpecInput {
var sdkMaintenanceWindows []*client.MaintenanceWindowSpecInput
for _, mw := range maintenanceWindows {
var days []client.Day
for _, day := range mw.Days {
days = append(days, client.Day(day.ValueString()))
}
sdkMaintenanceWindows = append(sdkMaintenanceWindows, &client.MaintenanceWindowSpecInput{
Name: mw.Name.ValueString(),
Enabled: mw.Enabled.ValueBoolPointer(),
Hour: mw.Hour.ValueInt64(),
LengthInHours: mw.LengthInHours.ValueInt64(),
Days: days,
})
}
return sdkMaintenanceWindows
}