Custom Rule Methods
Use these methods to define custom rules.
| Method | Type | Example Condition | 
|---|---|---|
| HasMatch(string originalString, params string[] matches) | bool | HasMatch(UserName,"plewis") HasMatch(UserName, "plewis", "mshepherd", "rwilliams") HasMatch(EmailAddress, "*@company.com") | 
| HasUserNameMatch(params string[] matches) | bool | HasUserNameMatch("plewis", "mshepherd", "rwilliams") | 
| HasEmailAddressMatch(params string[] matches) | bool | HasEmailAddressMatch("*@company.com") | 
| HasOnlyRolesWithin(bool usedRolesOnly, params string[] matches) | bool | HasOnlyRolesWithin(false, "Dev*", "Manager") Valid values for usedRolesOnly: 
 Example Scenario: 
 Any set of roles that contain only elements within the (Dev*, Manager) superset is considered valid. In this example, the following roles are considered within the (Dev*, Manager) superset: 
 User1 (Dev1, Manager, Tester) does not contain only roles within the (Dev*, Manager) superset because the Tester role is not included in the superset. Note: HasOnlyRolesWithin supports composite roles. | 
| HasRoleMatch(bool usedRolesOnly, params string[] matches) | bool | HasRoleMatch(true, "MyRole1") Valid values for usedRolesOnly: 
 | 
| HasUserGroupMatch(params string[] matches) | bool | HasEmailAddressMatch("*@company.com") | 
| HasUserTypeMatch(params string[] matches) | bool | HasEmailAddressMatch("*@company.com") | 
| HasCurrentLicenseTypeMatch(params string[] matches) | bool | HasEmailAddressMatch("*@company.com") | 
| GetTransactionProfilePercentage(string profileName) | double | GetTransactionProfilePercentage("ProfessionalProfile") > 0.9 | 
| HasTransactionProfileLimitMatch(string mandatoryTransactionProfileName, string allowedTransactionProfileName, string prohibitedTransactionProfileName) | bool | HasTransactionProfileLimitMatch("MandatoryProfile", "AllowedProfile", "ProhibitedProfile") | 
| GetTransactionProfileNumberObjectsUsed(string sapTransactionProfileName) | integer | GetTransactionProfileNumberObjectsUsed ("ProfessionalProfile") > 50 | 
| GetTransactionProfileNumberTransactionsUsed (string sapTransactionProfileName) | integer | GetTransactionProfileNumberTransactionsUsed ("ProfessionalProfile") > 30 | 
| GetTransactionProfileNumberReportsUsed(string sapTransactionProfileName) | integer | GetTransactionProfileNumberReportsUsed ("ProfessionalProfile") > 15 | 
| GetTransactionProfileNumberJobsUsed(string sapTransactionProfileName) | integer | GetTransactionProfileNumberJobsUsed ("ProfessionalProfile") > 5 | 
| HasTransactionProfileMaxObjectTypesMatch (string sapTransactionProfileName, int maxTransaction, int maxReport, int maxJob) | bool | HasTransactionProfileMaxObjectTypesMatch ("ProfessionalProfile", 30, 15, 5) | 
| TotalConsumptionInRange(string p_ConsumptionType, double p_fromCPUTime, double p_toCPUTime, double p_fromAccessCount, double p_toAccessCount) | bool | TotalConsumptionInRange("CPUTime", 0, 100, 0, 0) Options for p_ConsumptionType: 
 | 
| GetRoles(bool usedRolesOnly) | string[] | GetRoles(false) Parameters for usedRolesOnly: 
 | 
| GetRoles(bool usedRolesOnly, bool withoutCompositeRole = false)) | string[] | GetRoles(false) Parameters for usedRolesOnly: 
 | 
| IsLowConsumption(string p_ConsumptionType, double p_maxCPU, double p_maxAccessCount) | bool | IsLowConsumption("CPUTime", 1000, 0) Options for p_ConsumptionType: 
 |