-
Notifications
You must be signed in to change notification settings - Fork 1
/
reference.go
58 lines (47 loc) · 1.19 KB
/
reference.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
package parser
import (
"fmt"
defsecTypes "github.com/aquasecurity/defsec/pkg/types"
)
type CFReference struct {
logicalId string
resourceRange defsecTypes.Range
resolvedValue Property
}
func NewCFReference(id string, resourceRange defsecTypes.Range) CFReference {
return CFReference{
logicalId: id,
resourceRange: resourceRange,
}
}
func NewCFReferenceWithValue(resourceRange defsecTypes.Range, resolvedValue Property, logicalId string) CFReference {
return CFReference{
resourceRange: resourceRange,
resolvedValue: resolvedValue,
logicalId: logicalId,
}
}
func (cf CFReference) String() string {
return cf.resourceRange.String()
}
func (cf CFReference) LogicalID() string {
return cf.logicalId
}
func (cf CFReference) ResourceRange() defsecTypes.Range {
return cf.resourceRange
}
func (cf CFReference) PropertyRange() defsecTypes.Range {
if cf.resolvedValue.IsNotNil() {
return cf.resolvedValue.Range()
}
return defsecTypes.Range{}
}
func (cf CFReference) DisplayValue() string {
if cf.resolvedValue.IsNotNil() {
return fmt.Sprintf("%v", cf.resolvedValue.RawValue())
}
return ""
}
func (cf *CFReference) Comment() string {
return cf.resolvedValue.Comment()
}