github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloudformation/aws/kinesis/stream.go (about) 1 package kinesis 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/kinesis" 5 "github.com/khulnasoft-lab/defsec/pkg/scanners/cloudformation/parser" 6 "github.com/khulnasoft-lab/defsec/pkg/types" 7 ) 8 9 func getStreams(ctx parser.FileContext) (streams []kinesis.Stream) { 10 11 streamResources := ctx.GetResourcesByType("AWS::Kinesis::Stream") 12 13 for _, r := range streamResources { 14 15 stream := kinesis.Stream{ 16 Metadata: r.Metadata(), 17 Encryption: kinesis.Encryption{ 18 Metadata: r.Metadata(), 19 Type: types.StringDefault("KMS", r.Metadata()), 20 KMSKeyID: types.StringDefault("", r.Metadata()), 21 }, 22 } 23 24 if prop := r.GetProperty("StreamEncryption"); prop.IsNotNil() { 25 stream.Encryption = kinesis.Encryption{ 26 Metadata: prop.Metadata(), 27 Type: prop.GetStringProperty("EncryptionType", "KMS"), 28 KMSKeyID: prop.GetStringProperty("KeyId"), 29 } 30 } 31 32 streams = append(streams, stream) 33 } 34 35 return streams 36 }