Skip to main content

Custom Rule Methods

Use these methods to define custom rules.

MethodTypeExample Condition
HasMatch(string originalString, params string[] matches)boolHasMatch(UserName,"plewis") HasMatch(UserName, "plewis", "mshepherd", "rwilliams") HasMatch(EmailAddress, "*@company.com")
HasUserNameMatch(params string[] matches)boolHasUserNameMatch("plewis", "mshepherd", "rwilliams")
HasEmailAddressMatch(params string[] matches)boolHasEmailAddressMatch("*@company.com")
HasOnlyRolesWithin(bool usedRolesOnly, params string[] matches)boolHasOnlyRolesWithin(false, "Dev*", "Manager") Valid values for usedRolesOnly: true—Only user’s roles that have consumption are returned. false—All roles assigned to a user are returned (regardless of consumption of a role). Example Scenario: User1 roles: Dev1, Manager, Tester User2 roles: Dev2, Manager User3 roles: Dev3 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: User2 roles: Dev2, Manager User3 roles: Dev3 User1 (Dev1, Manager, Tester) does not contain only roles within the (Dev*, Manager) superset because the Tester role is not included in the superset. HasOnlyRolesWithin supports composite roles.
HasRoleMatch(bool usedRolesOnly, params string[] matches)boolHasRoleMatch(true, "MyRole1") Valid values for usedRolesOnly: true—Only user's roles that have consumption are returned. false—All roles assigned to a user are returned (regardless of consumption of a role).
HasUserGroupMatch(params string[] matches)boolHasEmailAddressMatch("*@company.com")
HasUserTypeMatch(params string[] matches)boolHasEmailAddressMatch("*@company.com")
HasCurrentLicenseTypeMatch(params string[] matches)boolHasEmailAddressMatch("*@company.com")
GetTransactionProfilePercentage(string profileName)doubleGetTransactionProfilePercentage("ProfessionalProfile") > 0.9
HasTransactionProfileLimitMatch(string mandatoryTransactionProfileName, string allowedTransactionProfileName, string prohibitedTransactionProfileName)boolHasTransactionProfileLimitMatch("MandatoryProfile", "AllowedProfile", "ProhibitedProfile")
GetTransactionProfileNumberObjectsUsed(string sapTransactionProfileName)integerGetTransactionProfileNumberObjectsUsed ("ProfessionalProfile") > 50
GetTransactionProfileNumberTransactionsUsed (string sapTransactionProfileName)integerGetTransactionProfileNumberTransactionsUsed ("ProfessionalProfile") > 30
GetTransactionProfileNumberReportsUsed(string sapTransactionProfileName)integerGetTransactionProfileNumberReportsUsed ("ProfessionalProfile") > 15
GetTransactionProfileNumberJobsUsed(string sapTransactionProfileName)integerGetTransactionProfileNumberJobsUsed ("ProfessionalProfile") > 5
HasTransactionProfileMaxObjectTypesMatch (string sapTransactionProfileName, int maxTransaction, int maxReport, int maxJob)boolHasTransactionProfileMaxObjectTypesMatch ("ProfessionalProfile", 30, 15, 5)
TotalConsumptionInRange(string p_ConsumptionType, double p_fromCPUTime, double p_toCPUTime, double p_fromAccessCount, double p_toAccessCount)boolTotalConsumptionInRange("CPUTime", 0, 100, 0, 0) Options for p_ConsumptionType: CPUTime AccessCount
GetRoles(bool usedRolesOnly)string[]GetRoles(false) Parameters for usedRolesOnly: true—Only user's roles that have consumption are returned. false—All roles assigned to a user are returned (regardless of consumption of a role).
GetRoles(bool usedRolesOnly, bool withoutCompositeRole = false))string[]GetRoles(false) Parameters for usedRolesOnly: true—Only user's roles that have consumption are returned. false—All roles assigned to a user are returned (regardless of consumption of a role).
IsLowConsumption(string p_ConsumptionType, double p_maxCPU, double p_maxAccessCount)boolIsLowConsumption("CPUTime", 1000, 0) Options for p_ConsumptionType: CPUTime AccessCount