id: 1 unit: func() file: pkg/usecase/mpfService.go start line: 80 end line: 208 size: 93 LOC McCabe index: 22 number of parameters: 1 id: 2 unit: func getMPFBicep() file: cmd/bicepCmd.go start line: 92 end line: 209 size: 92 LOC McCabe index: 13 number of parameters: 2 id: 3 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateWhatIf/armTemplateWhatIfAuthorizationChecker.go start line: 130 end line: 262 size: 85 LOC McCabe index: 18 number of parameters: 1 id: 4 unit: func getMPFTerraform() file: cmd/terraformCmd.go start line: 85 end line: 178 size: 69 LOC McCabe index: 14 number of parameters: 2 id: 5 unit: func getMPFARM() file: cmd/armCmd.go start line: 91 end line: 171 size: 64 LOC McCabe index: 7 number of parameters: 2 id: 6 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateDeployment/armTemplateAuthorizationChecker.go start line: 77 end line: 176 size: 61 LOC McCabe index: 10 number of parameters: 1 id: 7 unit: func() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 81 end line: 161 size: 57 LOC McCabe index: 7 number of parameters: 1 id: 8 unit: func() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 113 end line: 176 size: 55 LOC McCabe index: 12 number of parameters: 1 id: 9 unit: func NewRootCommand() file: cmd/rootCmd.go start line: 58 end line: 122 size: 51 LOC McCabe index: 8 number of parameters: 0 id: 10 unit: func() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 197 end line: 256 size: 46 LOC McCabe index: 20 number of parameters: 1 id: 11 unit: func() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 163 end line: 228 size: 44 LOC McCabe index: 8 number of parameters: 1 id: 12 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateWhatIf/armTemplateWhatIfAuthorizationChecker.go start line: 74 end line: 128 size: 42 LOC McCabe index: 6 number of parameters: 1 id: 13 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateWhatIf/armTemplateWhatIfAuthorizationChecker.go start line: 264 end line: 322 size: 40 LOC McCabe index: 7 number of parameters: 1 id: 14 unit: func() file: pkg/presentation/defaultFormatter.go start line: 33 end line: 85 size: 38 LOC McCabe index: 7 number of parameters: 1 id: 15 unit: func GetScopePermissionsFromAuthError() file: pkg/domain/authorizationErrorParser.go start line: 34 end line: 72 size: 33 LOC McCabe index: 13 number of parameters: 1 id: 16 unit: func NewBicepCommand() file: cmd/bicepCmd.go start line: 49 end line: 90 size: 32 LOC McCabe index: 5 number of parameters: 0 id: 17 unit: func parseAuthorizationPermissionMismatchError() file: pkg/domain/authorizationPermissionMismatchErrorParser.go start line: 37 end line: 79 size: 31 LOC McCabe index: 10 number of parameters: 1 id: 18 unit: func() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 286 end line: 317 size: 30 LOC McCabe index: 13 number of parameters: 1 id: 19 unit: func() file: pkg/infrastructure/azureAPI/azureApiClient.go start line: 88 end line: 134 size: 30 LOC McCabe index: 7 number of parameters: 1 id: 20 unit: func() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 79 end line: 111 size: 29 LOC McCabe index: 13 number of parameters: 1 id: 21 unit: func() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 52 end line: 79 size: 27 LOC McCabe index: 6 number of parameters: 1 id: 22 unit: func() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 308 end line: 346 size: 27 LOC McCabe index: 5 number of parameters: 1 id: 23 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateDeployment/armTemplateAuthorizationChecker.go start line: 227 end line: 264 size: 27 LOC McCabe index: 7 number of parameters: 1 id: 24 unit: func NewARMCommand() file: cmd/armCmd.go start line: 53 end line: 89 size: 27 LOC McCabe index: 4 number of parameters: 0 id: 25 unit: func NewTerraformCommand() file: cmd/terraformCmd.go start line: 52 end line: 83 size: 26 LOC McCabe index: 4 number of parameters: 0 id: 26 unit: func() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 258 end line: 284 size: 24 LOC McCabe index: 5 number of parameters: 1 id: 27 unit: func() file: pkg/usecase/mpfService.go start line: 210 end line: 243 size: 23 LOC McCabe index: 6 number of parameters: 1 id: 28 unit: func parseLinkedAccessCheckFailedError() file: pkg/domain/linkedAccessCheckFailedErrorParser.go start line: 31 end line: 66 size: 23 LOC McCabe index: 6 number of parameters: 1 id: 29 unit: func parseMultiAuthorizationFailedErrors() file: pkg/domain/authorizationErrorParser.go start line: 75 end line: 108 size: 22 LOC McCabe index: 6 number of parameters: 1 id: 30 unit: func parseMultiAuthorizationErrors() file: pkg/domain/authorizationErrorParser.go start line: 111 end line: 148 size: 22 LOC McCabe index: 7 number of parameters: 1 id: 31 unit: func parseLinkedAuthorizationFailedErrors() file: pkg/domain/authorizationErrorParser.go start line: 151 end line: 191 size: 22 LOC McCabe index: 6 number of parameters: 1 id: 32 unit: func GetAddressAndResourceIDFromExistingResourceError() file: pkg/infrastructure/authorizationCheckers/terraform/resourceImportParser.go start line: 33 end line: 60 size: 20 LOC McCabe index: 7 number of parameters: 1 id: 33 unit: func GetDeleteActionFromInvalidActionOrNotActionError() file: pkg/domain/InvalidActionOrNotActionErrorParser.go start line: 11 end line: 37 size: 18 LOC McCabe index: 6 number of parameters: 1 id: 34 unit: func getRootMPFConfig() file: cmd/rootCmd.go start line: 178 end line: 197 size: 18 LOC McCabe index: 1 number of parameters: 0 id: 35 unit: func NewMPFService() file: pkg/usecase/mpfService.go start line: 50 end line: 64 size: 15 LOC McCabe index: 1 number of parameters: 10 id: 36 unit: func() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 287 end line: 306 size: 15 LOC McCabe index: 4 number of parameters: 1 id: 37 unit: func() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 178 end line: 195 size: 15 LOC McCabe index: 5 number of parameters: 1 id: 38 unit: func initializeConfig() file: cmd/rootCmd.go start line: 124 end line: 145 size: 15 LOC McCabe index: 3 number of parameters: 1 id: 39 unit: func bindFlags() file: cmd/rootCmd.go start line: 148 end line: 167 size: 15 LOC McCabe index: 5 number of parameters: 2 id: 40 unit: func CreateTFFile() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 45 end line: 60 size: 14 LOC McCabe index: 3 number of parameters: 2 id: 41 unit: func DeleteTFFile() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 62 end line: 77 size: 14 LOC McCabe index: 3 number of parameters: 2 id: 42 unit: func NewTerraformAuthorizationChecker() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 59 end line: 73 size: 14 LOC McCabe index: 2 number of parameters: 5 id: 43 unit: func() file: pkg/infrastructure/azureAPI/azureApiClient.go start line: 136 end line: 152 size: 13 LOC McCabe index: 3 number of parameters: 1 id: 44 unit: func() file: pkg/infrastructure/azureAPI/azureApiClient.go start line: 154 end line: 168 size: 12 LOC McCabe index: 4 number of parameters: 1 id: 45 unit: func main() file: cmd/main.go start line: 38 end line: 52 size: 12 LOC McCabe index: 3 number of parameters: 0 id: 46 unit: func getUniqueSlice() file: pkg/domain/mpfResultFilterSort.go start line: 37 end line: 47 size: 11 LOC McCabe index: 3 number of parameters: 1 id: 47 unit: func appendPermissionsForSpecialCases() file: pkg/domain/appendPermissionsForSpecialCases.go start line: 22 end line: 32 size: 11 LOC McCabe index: 4 number of parameters: 1 id: 48 unit: func() file: pkg/presentation/jsonFormatter.go start line: 31 end line: 42 size: 11 LOC McCabe index: 3 number of parameters: 1 id: 49 unit: func ReadJson() file: pkg/infrastructure/mpfSharedUtils/json.go start line: 30 end line: 42 size: 11 LOC McCabe index: 3 number of parameters: 1 id: 50 unit: func() file: pkg/infrastructure/resourceGroupManager/defaultResourceGroupManager.go start line: 54 end line: 68 size: 11 LOC McCabe index: 2 number of parameters: 1 id: 51 unit: func getAbsolutePath() file: cmd/rootCmd.go start line: 199 end line: 210 size: 11 LOC McCabe index: 3 number of parameters: 1 id: 52 unit: func() file: pkg/usecase/mpfService.go start line: 66 end line: 78 size: 10 LOC McCabe index: 5 number of parameters: 1 id: 53 unit: func GenerateRandomString() file: pkg/infrastructure/mpfSharedUtils/randomString.go start line: 30 end line: 41 size: 10 LOC McCabe index: 2 number of parameters: 1 id: 54 unit: func LoadMPFResultFromFile() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 103 end line: 113 size: 10 LOC McCabe index: 2 number of parameters: 2 id: 55 unit: func SaveMPFResultsToFile() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 116 end line: 127 size: 10 LOC McCabe index: 2 number of parameters: 3 id: 56 unit: func getMapWithUniqueValues() file: pkg/domain/mpfResultFilterSort.go start line: 27 end line: 35 size: 9 LOC McCabe index: 2 number of parameters: 1 id: 57 unit: func filterInvalidActions() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 357 end line: 365 size: 9 LOC McCabe index: 3 number of parameters: 2 id: 58 unit: func DoesTFFileExist() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 34 end line: 43 size: 9 LOC McCabe index: 2 number of parameters: 2 id: 59 unit: func stringExistsInSlice() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 348 end line: 355 size: 8 LOC McCabe index: 3 number of parameters: 2 id: 60 unit: func NewARMTemplateDeploymentAuthorizationChecker() file: pkg/infrastructure/authorizationCheckers/ARMTemplateDeployment/armTemplateAuthorizationChecker.go start line: 53 end line: 61 size: 8 LOC McCabe index: 1 number of parameters: 2 id: 61 unit: func NewAzureAPIClients() file: pkg/infrastructure/azureAPI/azureApiClient.go start line: 56 end line: 63 size: 8 LOC McCabe index: 2 number of parameters: 1 id: 62 unit: func() file: pkg/infrastructure/azureAPI/azureApiClient.go start line: 78 end line: 86 size: 8 LOC McCabe index: 2 number of parameters: 1 id: 63 unit: func setLogLevel() file: cmd/rootCmd.go start line: 169 end line: 176 size: 8 LOC McCabe index: 3 number of parameters: 0 id: 64 unit: func NewARMTemplateWhatIfAuthorizationChecker() file: pkg/infrastructure/authorizationCheckers/ARMTemplateWhatIf/armTemplateWhatIfAuthorizationChecker.go start line: 52 end line: 59 size: 7 LOC McCabe index: 1 number of parameters: 2 id: 65 unit: func getAuthorizer() file: pkg/infrastructure/azureAPI/azureApiClient.go start line: 65 end line: 72 size: 7 LOC McCabe index: 2 number of parameters: 0 id: 66 unit: func() file: pkg/infrastructure/resourceGroupManager/defaultResourceGroupManager.go start line: 43 end line: 51 size: 7 LOC McCabe index: 2 number of parameters: 1 id: 67 unit: func getDislayOptions() file: cmd/armCmd.go start line: 173 end line: 179 size: 7 LOC McCabe index: 1 number of parameters: 3 id: 68 unit: func displayResult() file: cmd/armCmd.go start line: 181 end line: 188 size: 7 LOC McCabe index: 2 number of parameters: 2 id: 69 unit: func NewMPFResultDisplayer() file: pkg/presentation/resultPresenter.go start line: 46 end line: 51 size: 6 LOC McCabe index: 1 number of parameters: 2 id: 70 unit: func() file: pkg/presentation/resultPresenter.go start line: 53 end line: 58 size: 6 LOC McCabe index: 2 number of parameters: 1 id: 71 unit: func GetParametersInStandardFormat() file: pkg/infrastructure/ARMTemplateShared/armTemplateShared.go start line: 38 end line: 74 size: 6 LOC McCabe index: 2 number of parameters: 1 id: 72 unit: func NewSPRoleAssignmentManager() file: pkg/infrastructure/spRoleAssignmentManager/defaultSPRoleAssignmentManager.go start line: 45 end line: 50 size: 6 LOC McCabe index: 1 number of parameters: 1 id: 73 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateDeployment/armTemplateAuthorizationChecker.go start line: 67 end line: 75 size: 6 LOC McCabe index: 1 number of parameters: 1 id: 74 unit: func NewResourceGroupManager() file: pkg/infrastructure/resourceGroupManager/defaultResourceGroupManager.go start line: 36 end line: 41 size: 6 LOC McCabe index: 1 number of parameters: 1 id: 75 unit: func GetMPFResult() file: pkg/domain/mpfConfig.go start line: 57 end line: 61 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 76 unit: func loadResultFromJSON() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 96 end line: 101 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 77 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateWhatIf/armTemplateWhatIfAuthorizationChecker.go start line: 65 end line: 70 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 78 unit: func doesEnteredDestroyPhaseStateFileExist() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 79 end line: 81 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 79 unit: func createEnteredDestroyPhaseStateFile() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 83 end line: 85 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 80 unit: func deleteEnteredDestroyPhaseStateFile() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 87 end line: 89 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 81 unit: func saveResultAsJSON() file: pkg/infrastructure/authorizationCheckers/terraform/fileManager.go start line: 91 end line: 94 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 82 unit: func() file: pkg/infrastructure/authorizationCheckers/terraform/terraformAuthorizationChecker.go start line: 75 end line: 77 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 83 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateDeployment/armTemplateAuthorizationChecker.go start line: 63 end line: 65 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 84 unit: func() file: pkg/infrastructure/authorizationCheckers/ARMTemplateWhatIf/armTemplateWhatIfAuthorizationChecker.go start line: 61 end line: 63 size: 3 LOC McCabe index: 1 number of parameters: 1