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  }