github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/deployment.go (about) 1 package functions 2 3 type DeploymentData interface { 4 GetParameter(name string) interface{} 5 GetVariable(variableName string) interface{} 6 GetEnvVariable(envVariableName string) interface{} 7 } 8 9 func Deployment(deploymentProvider DeploymentData, args ...interface{}) interface{} { 10 11 /* 12 13 { 14 "name": "", 15 "properties": { 16 "templateLink": { 17 "uri": "" 18 }, 19 "template": { 20 "$schema": "", 21 "contentVersion": "", 22 "parameters": {}, 23 "variables": {}, 24 "resources": [], 25 "outputs": {} 26 }, 27 "templateHash": "", 28 "parameters": {}, 29 "mode": "", 30 "provisioningState": "" 31 } 32 } 33 34 */ 35 36 return nil 37 } 38 39 func Environment(envProvider DeploymentData, args ...interface{}) interface{} { 40 if len(args) == 0 { 41 return nil 42 } 43 44 envVarName, ok := args[0].(string) 45 if !ok { 46 return nil 47 } 48 return envProvider.GetEnvVariable(envVarName) 49 } 50 51 func Variables(varProvider DeploymentData, args ...interface{}) interface{} { 52 if len(args) == 0 { 53 return nil 54 } 55 56 varName, ok := args[0].(string) 57 if !ok { 58 return nil 59 } 60 return varProvider.GetVariable(varName) 61 } 62 63 func Parameters(paramProvider DeploymentData, args ...interface{}) interface{} { 64 if len(args) == 0 { 65 return nil 66 } 67 68 paramName, ok := args[0].(string) 69 if !ok { 70 return nil 71 } 72 73 return paramProvider.GetParameter(paramName) 74 75 }