github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloudformation/aws/rds/parameter_groups.go (about) 1 package rds 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/rds" 5 "github.com/khulnasoft-lab/defsec/pkg/scanners/cloudformation/parser" 6 "github.com/khulnasoft-lab/defsec/pkg/types" 7 ) 8 9 func getParameterGroups(ctx parser.FileContext) (parametergroups []rds.ParameterGroups) { 10 11 for _, r := range ctx.GetResourcesByType("AWS::RDS::DBParameterGroup") { 12 13 paramgroup := rds.ParameterGroups{ 14 Metadata: r.Metadata(), 15 DBParameterGroupName: r.GetStringProperty("DBParameterGroupName"), 16 DBParameterGroupFamily: r.GetStringProperty("DBParameterGroupFamily"), 17 Parameters: getParameters(r), 18 } 19 20 parametergroups = append(parametergroups, paramgroup) 21 } 22 23 return parametergroups 24 } 25 26 func getParameters(r *parser.Resource) (parameters []rds.Parameters) { 27 28 dBParam := r.GetProperty("Parameters") 29 30 if dBParam.IsNil() || dBParam.IsNotList() { 31 return parameters 32 } 33 34 for _, dbp := range dBParam.AsList() { 35 parameters = append(parameters, rds.Parameters{ 36 Metadata: dbp.Metadata(), 37 ParameterName: types.StringDefault("", dbp.Metadata()), 38 ParameterValue: types.StringDefault("", dbp.Metadata()), 39 }) 40 } 41 return parameters 42 }