/
cf.go
38 lines (30 loc) · 1.2 KB
/
cf.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
package provisioner
type stackPolicyEffect string
type stackPolicyAction string
type stackPolicyPrincipal string
const (
stackPolicyEffectDeny stackPolicyEffect = "Deny"
stackPolicyEffectAllow stackPolicyEffect = "Allow"
stackPolicyActionUpdateModify stackPolicyAction = "Update:Modify"
stackPolicyActionUpdateReplace stackPolicyAction = "Update:Replace"
stackPolicyActionUpdateDelete stackPolicyAction = "Update:Delete"
stackPolicyActionUpdateAll stackPolicyAction = "Update:*"
stackPolicyPrincipalAll stackPolicyPrincipal = "*"
)
type stackPolicyConditionStringEquals struct {
ResourceType []string `json:"ResourceType"`
}
type stackPolicyCondition struct {
StringEquals stackPolicyConditionStringEquals `json:"StringEquals"`
}
type stackPolicyStatement struct {
Effect stackPolicyEffect `json:"Effect"`
Action []stackPolicyAction `json:"Action,omitempty"`
Principal stackPolicyPrincipal `json:"Principal"`
Resource []string `json:"Resource,omitempty"`
NotResource []string `json:"NotResource,omitempty"`
Condition *stackPolicyCondition `json:"Condition,omitempty"`
}
type stackPolicy struct {
Statements []stackPolicyStatement `json:"Statement"`
}