Name | Type | Multiplicity | Description |
---|---|---|---|
name |
property PolyStringType |
[0,1] | Human-readable, mutable name of the object. |
description |
property string |
[0,1] | Free-form textual description of the object. |
documentation |
property string |
[0,1] | AsciiDoc-formatted technical documentation of the object. |
subtype |
property string |
[0,-1] | Type of the object. |
fetchResult |
property OperationResultType |
[0,1] | Result of the operation that fetched this instance of the object. |
extension |
container ExtensionType |
[0,1] | Extension container that provides generic extensibility mechanism. |
parentOrgRef |
reference ObjectReferenceType |
[0,-1] | Set of the orgs (organizational units, projects, teams) that the object relates to. |
trigger |
container TriggerType |
[0,-1] | Triggers for this object. |
metadata |
container MetadataType |
[0,1] | Meta-data about object creation, modification, etc. |
tenantRef |
reference ObjectReferenceType |
[0,1] | Reference to the tenant to which this object belongs. |
lifecycleState |
property string |
[0,1] | Lifecycle state of the object. |
operationExecution |
container OperationExecutionType |
[0,-1] | Description of recent operations executed on this object (or related objects in special cases). |
lensContext |
container LensContextType |
[0,1] | Model context describing executed operation |
policySituation |
property anyURI |
[0,-1] | The policy situation(s) of this object. |
triggeredPolicyRule |
property EvaluatedPolicyRuleType |
[0,-1] | Triggered policy rules for this object. |
policyException |
container PolicyExceptionType |
[0,-1] | Recorded exception from a policy rule. |
diagnosticInformation |
property DiagnosticInformationType |
[0,-1] | Diagnostic information attached to this object. |
indestructible |
property boolean |
[0,1] | Protection against accidental deletion. |
effectiveMarkRef |
reference ObjectReferenceType |
[0,-1] | Object marks assigned to the shadow. |
policyStatement |
container PolicyStatementType |
[0,-1] | Policy statements to manually add or exclude effective marks of shadow. |
effectiveOperationPolicy |
container ObjectOperationPolicyType |
[0,1] | Effective provisioning policy derived from Shadow marks and resource configuration. |
assignment |
container AssignmentType |
[0,-1] | Set of object's assignments. |
iteration |
property int |
[0,1] | Iteration number. |
iterationToken |
property string |
[0,1] | Iteration token. |
archetypeRef |
reference ObjectReferenceType |
[0,-1] | References to all applicable archetypes, including "indirect" archetypes such as archetype supertypes. |
roleMembershipRef |
reference ObjectReferenceType |
[0,-1] | References to abstract roles (roles, orgs, services) that this focus currently belongs to - directly or indirectly. |
delegatedRef |
reference ObjectReferenceType |
[0,-1] | References to objects (abstract roles as well as users) obtained via delegation. |
roleInfluenceRef |
reference ObjectReferenceType |
[0,-1] | References to abstract roles (roles and orgs) that this focus may directly belong to. |
type |
property QName |
[1,1] | Type of objects that belong to this collection. |
filter |
property SearchFilterType |
[0,1] | Filter that is used to select objects which belong to this collection. |
getOptions |
container SelectorQualifiedGetOptionsType |
[0,1] | Options to use when executing the search. |
baseCollection |
container CollectionRefSpecificationType |
[0,1] | Collection used as a base for this collection. |
domain |
container CollectionRefSpecificationType |
[0,1] | Domain for this collection. |
defaultView |
container GuiObjectListViewType |
[0,1] | Specifies a default view of an object collection. |
stats |
container CollectionStatsType |
[0,1] | Stats (statistics) setting and entries. |
Flags: RAM,runtime
Multiplicity: [0,1]
Human-readable, mutable name of the object. It
may also be an identifier (login name, group name).
It is usually unique in the respective context of
interpretation. E.g. the name of the UserType subtype
is usually unique in the whole system.
The name of the ShadowType subtype is usually unique in the
scope of resource (target system) that it belongs to.
The name may not be human-readable in a sense to display
to a common end-user. It is intended to be displayed to
IDM system administrator. Therefore it may contain quite
a "ugly" structures such as LDAP DN or URL.
Name is mutable. It is considered to be ordinary property
of the object. Therefore it can be changed by invoking
usual modifyObject operations. However, change of the name
may have side effects (rename process).
Although name is specified as optional by this schema, it
is in fact mandatory for most object types. The reason for
specifying the name as optional is that the name may be
generated by the system instead of supplied by the clients.
However, all objects stored in the repository must have a name.
Flags: RAM,runtime
Multiplicity: [0,1]
Free-form textual description of the object. This is meant to
be displayed in the user interface.
Flags: RAM,runtime
Multiplicity: [0,1]
AsciiDoc-formatted technical documentation of the object.
Flags: RAM,runtime
Multiplicity: [0,-1]
Type of the object. It is used to distinguish what a specific object
represents. Whether it is a different kind of organizational unit, project,
team, or different kind of user, etc.
Flags: RAM,runtime,oper
Multiplicity: [0,1]
Result of the operation that fetched this instance of the object.
It is mostly used to indicate that the object is not complete or
there is some problem with the object. This is used instead of
exception if the object is part of larger structures (lists as in
list/search operations or composite objects). If not present then
the "SUCCESS" state is assumed.
This field is TRANSIENT. It must only be used in runtime. It should
never be stored in the repository.
Flags: RAM,runtime
Multiplicity: [0,1]
Extension container that provides generic extensibility mechanism.
Almost any extension property can be placed in this container.
This mechanism is used to extend objects with new properties.
The extension is treated exactly the same as other object
properties by the code (storage, modifications, etc), except
that the system may not be able to understand their meaning.
Flags: RAM,oper
Multiplicity: [0,-1]
Set of the orgs (organizational units, projects, teams) that the object relates to.
This usually means that the object belongs to them but it may have other meanings as well
(e.g. user manages an organizational unit).
Flags: RAM,runtime,oper
Multiplicity: [0,-1]
Triggers for this object. They drive invocations of corresponding trigger handlers
at specified time.
Flags: RAM,runtime,oper
Multiplicity: [0,1]
Meta-data about object creation, modification, etc.
Flags: RAM,oper
Multiplicity: [0,1]
Reference to the tenant to which this object belongs. It is a computed value set automatically
by midPoint. It is determined from the organizational structure. Even though this value is
computed it is also stored in the repository due to performance reasons.
Flags: RAM,runtime
Multiplicity: [0,1]
Lifecycle state of the object. This property defines whether the
object represents a draft, proposed definition, whether it is active,
deprecated, archived, and so on. See "Object Lifecycle" in the documentation.
Flags: RAM,runtime,oper
Multiplicity: [0,-1]
Description of recent operations executed on this object (or related objects in special
cases). The number of operations to be kept here is configurable.
Flags: RAM,runtime
Multiplicity: [0,1]
Flags: RAM,runtime,oper
Multiplicity: [0,-1]
Flags: RAM,runtime,oper
Multiplicity: [0,-1]
Flags: RAM,runtime
Multiplicity: [0,-1]
Flags: RAM,runtime
Multiplicity: [0,-1]
Flags: RAM,runtime
Multiplicity: [0,1]
Flags: RAM
Multiplicity: [0,-1]
Flags: RAM,runtime
Multiplicity: [0,-1]
Flags: RAM,runtime
Multiplicity: [0,1]
Flags: RAM,runtime
Multiplicity: [0,-1]
Set of object's assignments.
Assignments define the privileges and "features" that this object should have, that
this object is entitled to. Typical assignment will point to a role or define
a construction of an account.
Assignments represent what the object SHOULD HAVE. The assignments represent a policy,
a desired state of things (cf. linkRef, roleMembershipRef).
Flags: RAM,runtime,oper
Multiplicity: [0,1]
Flags: RAM,runtime,oper
Multiplicity: [0,1]
Flags: RAM,oper
Multiplicity: [0,-1]
References to all applicable archetypes, including "indirect" archetypes such as archetype supertypes.
Contains references to active archetypes only.
Note: the value of this reference is only updated when object is recomputed.
Therefore if a role definition changes then all the affected objects must be recomputed
for this reference to be consistent.
This is an operational property. It is set and managed by the system. It is used
for efficient use of archetypes.
Flags: RAM,oper
Multiplicity: [0,-1]
References to abstract roles (roles, orgs, services) that this focus currently belongs to - directly
or indirectly. This reference points to all the roles in the role hierarchy. It only points to
the roles that were evaluated as active during last recompute (conditions were true, validity
constraints not violated).
Note: the value of this reference is only updated when a focal object is recomputed.
Therefore if a role definition changes then all the affected focal objects must be recomputed
for this reference to be consistent.
Roles mentioned here are those that are NOT obtained via delegation, i.e. "deputy" relations.
Relations acquired by delegation are listed in delegatedRef item.
This is an operational property. It is set and managed by the system. It is used
for efficient search of all current role members, e.g. for the purpose of displaying this
information in the GUI.
Note: roleMembershipRef will be probably renamed to something like linkRef or
outboundLinkRef. We need to generalize it to contain information on generic links
between objects (e.g. between child and its parents).
Flags: RAM,oper
Multiplicity: [0,-1]
References to objects (abstract roles as well as users) obtained via delegation.
If A1 is a deputy of A, its delegatedRef contains a union of A, A.roleMembershipRef and
A.delegatedRef.
This is an operational property. It is set and managed by the system. It is used
for efficient search of all current role members, e.g. for the purpose of displaying this
information in the GUI.
Flags: RAM,oper
Multiplicity: [0,-1]
References to abstract roles (roles and orgs) that this focus may directly belong to.
This reference only points to the next role in the hierarchy. However, it is backed by
a "closure" index in the repository subsystem. Therefore it can efficiently support tree-like
queries. This reference points to the roles for whose the condition is not true.
Therefore it does not reliably show
who actually has a role. It shows potential role members - all the object that are possibly
influenced when a role definition changes.
This is an operational property. It is set and managed by the system. It is used
for efficient search of all possible role members, e.g. for the purpose of recomputing
all role members after the role definition is changed.
TODO. NOT IMPLEMENTED YET. EXPERIMENTAL. UNSTABLE.
Flags: RAM,runtime
Multiplicity: [1,1]
Flags: RAM,runtime
Multiplicity: [0,1]
Flags: RAM,runtime
Multiplicity: [0,1]
Flags: RAM,runtime
Multiplicity: [0,1]
Collection used as a base for this collection. In this case this collection may be
a "concretization" of another collection. E.g. to create "active employees" collection
use base collection reference to "employees" archetype. And this collection adds a filer
that selects only active user. The resulting collection will be a combination of those two.
This mechanism may also be used without additional search filter to create a "named collection"
for a collection that has quite a complex specification.
E.g. "all managers in our company" or "owners of roles in role catalog".
Flags: RAM,runtime
Multiplicity: [0,1]
Domain for this collection. Domain is a set of object that is "all the things" for this collection.
For example collection of "active employees" will have a domain "all employees". Collection
"failed resources" will have domain collection "all resources" and so on.
The purpose of domain is mostly to evaluate percentages. E.g. what percentage of employees are active.
Domain does not affect the collection itself. E.g. it has no meaning when collection is used in authorizations.
Domain just adds some kind of perspective when collection is presented to the user.
The domain may also be important for policy rules. E.g. policy rules that trigger a notification when percentage of
active employees gets too low.
No domain definition means that this collection does not have any domain.
On the other hand, empty domain definition means that all objects of applicable type are part of the domain, e.g. all users or all roles.
Flags: RAM,runtime
Multiplicity: [0,1]
Specifies a default view of an object collection.
Flags: RAM,runtime
Multiplicity: [0,1]
Stats (statistics) setting and entries. This contains stats entries for collections.
Simply speaking, it contains data about number of objects in collection.
While counting collections is usually quite easy, we do not want to do that every
millisecond. Therefore we count the collection and keep the data in this structure
for a while. The data may not necessarily be persistent. This may be purely virtual data
that never get stored in the repository. Ot it may be cached data. Or some combination.
We also may want to store historical data about the collection for informational purposes.
EXPERIMENTAL. Do not rely on this data structure.