github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/resource.go (about)

     1  package functions
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  func ResourceID(args ...interface{}) interface{} {
     8  	if len(args) < 2 {
     9  		return nil
    10  	}
    11  
    12  	var resourceID string
    13  
    14  	for _, arg := range args {
    15  		resourceID += "/" + fmt.Sprintf("%v", arg)
    16  	}
    17  
    18  	return resourceID
    19  }
    20  
    21  func ExtensionResourceID(args ...interface{}) interface{} {
    22  	if len(args) < 3 {
    23  		return nil
    24  	}
    25  
    26  	var resourceID string
    27  
    28  	for _, arg := range args {
    29  		resourceID += "/" + fmt.Sprintf("%v", arg)
    30  	}
    31  
    32  	return resourceID
    33  }
    34  
    35  func ResourceGroup(args ...interface{}) interface{} {
    36  	return fmt.Sprintf(`{
    37  "id": "/subscriptions/%s/resourceGroups/PlaceHolderResourceGroup",
    38  "name": "Placeholder Resource Group",
    39  "type":"Microsoft.Resources/resourceGroups",
    40  "location": "westus",
    41  "managedBy": "%s",
    42  "tags": {
    43  },
    44  "properties": {
    45    "provisioningState": "Succeeded
    46  }
    47  }`, subscriptionID, managingResourceID)
    48  }