/
framework_models.go
42 lines (33 loc) · 1.21 KB
/
framework_models.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
package databaseengines
import (
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/linode/linodego"
"github.com/linode/terraform-provider-linode/v2/linode/helper/frameworkfilter"
)
type DatabaseEngineModel struct {
Engine types.String `tfsdk:"engine"`
ID types.String `tfsdk:"id"`
Version types.String `tfsdk:"version"`
}
type DatabaseEngineFilterModel struct {
ID types.String `tfsdk:"id"`
Latest types.Bool `tfsdk:"latest"`
Order types.String `tfsdk:"order"`
OrderBy types.String `tfsdk:"order_by"`
Filters frameworkfilter.FiltersModelType `tfsdk:"filter"`
Engines []DatabaseEngineModel `tfsdk:"engines"`
}
func (model *DatabaseEngineFilterModel) parseEngines(engines []linodego.DatabaseEngine) {
parseEngine := func(engine linodego.DatabaseEngine) DatabaseEngineModel {
var m DatabaseEngineModel
m.ID = types.StringValue(engine.ID)
m.Engine = types.StringValue(engine.Engine)
m.Version = types.StringValue(engine.Version)
return m
}
result := make([]DatabaseEngineModel, len(engines))
for i, engine := range engines {
result[i] = parseEngine(engine)
}
model.Engines = result
}