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

     1  package athena
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/defsec/pkg/providers/aws/athena"
     5  	"github.com/khulnasoft-lab/defsec/pkg/scanners/cloudformation/parser"
     6  )
     7  
     8  func getWorkGroups(cfFile parser.FileContext) []athena.Workgroup {
     9  
    10  	var workgroups []athena.Workgroup
    11  
    12  	workgroupResources := cfFile.GetResourcesByType("AWS::Athena::WorkGroup")
    13  
    14  	for _, r := range workgroupResources {
    15  
    16  		wg := athena.Workgroup{
    17  			Metadata: r.Metadata(),
    18  			Name:     r.GetStringProperty("Name"),
    19  			Encryption: athena.EncryptionConfiguration{
    20  				Metadata: r.Metadata(),
    21  				Type:     r.GetStringProperty("WorkGroupConfiguration.ResultConfiguration.EncryptionConfiguration.EncryptionOption"),
    22  			},
    23  			EnforceConfiguration: r.GetBoolProperty("WorkGroupConfiguration.EnforceWorkGroupConfiguration"),
    24  		}
    25  
    26  		workgroups = append(workgroups, wg)
    27  	}
    28  
    29  	return workgroups
    30  }