/
kintofile_validation.go
50 lines (45 loc) · 1.38 KB
/
kintofile_validation.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
package types
import (
validation "github.com/go-ozzo/ozzo-validation/v4"
"github.com/go-ozzo/ozzo-validation/v4/is"
)
func (k KintoYaml) Validate() error {
return validation.ValidateStruct(&k,
validation.Field(&k.Version, validation.Required),
validation.Field(&k.Kinto, validation.Required),
)
}
func (k Kinto) Validate() error {
return validation.ValidateStruct(&k,
validation.Field(&k.Build, validation.Required),
validation.Field(&k.Deploy, validation.Required),
)
}
func (b Build) Validate() error {
return validation.ValidateStruct(&b,
validation.Field(&b.Language, validation.Required),
validation.Field(&b.SubfolderPath, validation.Required),
validation.Field(&b.DockerfileName, validation.Required),
)
}
func (d Deploy) Validate() error {
return validation.ValidateStruct(&d,
validation.Field(&d.CostOptimization, validation.Required),
validation.Field(&d.SleepMode, validation.Required),
validation.Field(&d.Port, is.Port),
validation.Field(
&d.DeployTimeoutSeconds,
validation.Required,
validation.In(convertInt32ArrayToInterfaceArray(TimeoutOpts.Values)...),
),
validation.Field(
&d.CPUCores,
validation.When(d.CPUCores != 0, validation.In(convertFloat32ArrayToInterfaceArray(CPUOpts.Values)...)),
),
validation.Field(
&d.MemoryMB,
validation.Required,
validation.In(convertInt32ArrayToInterfaceArray(MemoryOpts.Values)...),
),
)
}