github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/functions.go (about) 1 package functions 2 3 var deploymentFuncs = map[string]func(dp DeploymentData, args ...interface{}) interface{}{ 4 "parameters": Parameters, 5 "deployment": Deployment, 6 "environment": Environment, 7 "variables": Variables, 8 } 9 var generalFuncs = map[string]func(...interface{}) interface{}{ 10 11 "add": Add, 12 "and": And, 13 "array": Array, 14 "base64": Base64, 15 "base64ToJson": Base64ToJson, 16 "bool": Bool, 17 "coalesce": Coalesce, 18 "concat": Concat, 19 "contains": Contains, 20 "copyIndex": CopyIndex, 21 "createArray": CreateArray, 22 "createObject": CreateObject, 23 "dataUri": DataUri, 24 "dataUriToString": DataUriToString, 25 "dateTimeAdd": DateTimeAdd, 26 "dateTimeFromEpoch": DateTimeFromEpoch, 27 "dateTimeToEpoch": DateTimeToEpoch, 28 "div": Div, 29 "empty": Empty, 30 "endsWith": EndsWith, 31 "equals": Equals, 32 "extensionResourceId": ExtensionResourceID, 33 "false": False, 34 "float": Float, 35 "format": Format, 36 "greater": Greater, 37 "greaterOrEquals": GreaterOrEquals, 38 "guid": Guid, 39 "if": If, 40 "indexOf": IndexOf, 41 "int": Int, 42 "intersection": Intersection, 43 "items": Items, 44 "join": Join, 45 "lastIndexOf": LastIndexOf, 46 "length": Length, 47 "less": Less, 48 "lessOrEquals": LessOrEquals, 49 // "list": List, 50 "managementGroup": ManagementGroup, 51 "managementGroupResourceId": ManagementGroupResourceID, 52 "max": Max, 53 "min": Min, 54 "mod": Mod, 55 "mul": Mul, 56 "newGuid": NewGuid, 57 "not": Not, 58 "null": Null, 59 "or": Or, 60 "padLeft": PadLeft, 61 "pickZones": PickZones, 62 "range": Range, 63 "reference": Reference, 64 "replace": Replace, 65 "resourceGroup": ResourceGroup, 66 "resourceId": ResourceID, 67 "skip": Skip, 68 "split": Split, 69 "startsWith": StartsWith, 70 "string": String, 71 "sub": Sub, 72 "subscription": Subscription, 73 "subscriptionResourceId": SubscriptionResourceID, 74 "substring": SubString, 75 "tenant": Tenant, 76 "tenantResourceId": TenantResourceID, 77 "toLower": ToLower, 78 "toUpper": ToUpper, 79 "trim": Trim, 80 "true": True, 81 "union": Union, 82 "union:": Union, 83 "uniqueString": UniqueString, 84 "uri": Uri, 85 "utcNow": UTCNow, 86 } 87 88 func Evaluate(deploymentProvider DeploymentData, name string, args ...interface{}) interface{} { 89 90 if f, ok := deploymentFuncs[name]; ok { 91 return f(deploymentProvider, args...) 92 } 93 94 if f, ok := generalFuncs[name]; ok { 95 return f(args...) 96 } 97 98 return nil 99 }