Custom Rule Methods

Use these methods to define custom rules.

Custom Rule Methods

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:

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.

Note:HasOnlyRolesWithin supports composite roles.

HasRoleMatch(bool usedRolesOnly, params string[] matches)

bool

HasRoleMatch(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)

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:

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)

bool

IsLowConsumption("CPUTime", 1000, 0)

Options for p_ConsumptionType:

CPUTime
AccessCount