github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloudformation/aws/sns/topic.go (about)

     1  package sns
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/defsec/pkg/providers/aws/sns"
     5  	"github.com/khulnasoft-lab/defsec/pkg/scanners/cloudformation/parser"
     6  	"github.com/khulnasoft-lab/defsec/pkg/types"
     7  )
     8  
     9  func getTopics(ctx parser.FileContext) (topics []sns.Topic) {
    10  	for _, r := range ctx.GetResourcesByType("AWS::SNS::Topic") {
    11  
    12  		topic := sns.Topic{
    13  			Metadata: r.Metadata(),
    14  			ARN:      types.StringDefault("", r.Metadata()),
    15  			Encryption: sns.Encryption{
    16  				Metadata: r.Metadata(),
    17  				KMSKeyID: r.GetStringProperty("KmsMasterKeyId"),
    18  			},
    19  		}
    20  
    21  		topics = append(topics, topic)
    22  	}
    23  	return topics
    24  }