-
Notifications
You must be signed in to change notification settings - Fork 0
/
flat.go
42 lines (36 loc) · 878 Bytes
/
flat.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 eval
import (
"github.com/zclconf/go-cty/cty"
)
type FlatTemplate struct {
Description string
Metadata map[string]cty.Value
Parameters map[string]*FlatParameter
Mappings map[string]map[string]cty.Value
Conditions map[string]DynExpr
Resources map[string]*FlatResource
Outputs map[string]*FlatOutput
}
type FlatParameter struct {
Type string
Description string
DefaultValue cty.Value
AllowedPattern cty.Value
AllowedValues []cty.Value
MinLength cty.Value
MaxLength cty.Value
MinValue cty.Value
MaxValue cty.Value
NoEcho cty.Value
}
type FlatResource struct {
Type string
Properties map[string]*DynExpr
Metadata map[string]cty.Value
DependsOn []string
// TODO: CreationPolicy, DeletionPolicy, UpdatePolicy
}
type FlatOutput struct {
Value DynExpr
ExportName DynExpr
}