github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloudformation/aws/mq/broker.go (about) 1 package mq 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/mq" 5 "github.com/khulnasoft-lab/defsec/pkg/scanners/cloudformation/parser" 6 "github.com/khulnasoft-lab/defsec/pkg/types" 7 ) 8 9 func getBrokers(ctx parser.FileContext) (brokers []mq.Broker) { 10 for _, r := range ctx.GetResourcesByType("AWS::AmazonMQ::Broker") { 11 12 broker := mq.Broker{ 13 Metadata: r.Metadata(), 14 PublicAccess: r.GetBoolProperty("PubliclyAccessible"), 15 Logging: mq.Logging{ 16 Metadata: r.Metadata(), 17 General: types.BoolDefault(false, r.Metadata()), 18 Audit: types.BoolDefault(false, r.Metadata()), 19 }, 20 } 21 22 if prop := r.GetProperty("Logs"); prop.IsNotNil() { 23 broker.Logging = mq.Logging{ 24 Metadata: prop.Metadata(), 25 General: prop.GetBoolProperty("General"), 26 Audit: prop.GetBoolProperty("Audit"), 27 } 28 } 29 30 brokers = append(brokers, broker) 31 } 32 return brokers 33 }