# SystemConfigurationType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: AssignmentHolderType
System configuration object. Holds global system configuration setting. There will be just one object of this type in the system. It will have a well-known OID.

Item Summary
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] | Effective object marks for this object.
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.
globalAccountSynchronizationSettings | container ProjectionPolicyType | [0,1] | System-global account synchronization settings.
globalSecurityPolicyRef | reference ObjectReferenceType | [0,1] | Reference to the global security policy settings.
modelHooks | property ModelHooksType | [0,1] |
logging | container LoggingConfigurationType | [0,1] | Persistent configuration of logging levels, categories, etc.
defaultObjectPolicyConfiguration | container ObjectPolicyConfigurationType | [0,-1] | Definition of default object policy for an individual object type.
connectorFramework | container ConnectorFrameworkType | [0,1] | Global configuration of connectors and connector frameworks.
notificationConfiguration | container NotificationConfigurationType | [0,1] | A configuration for user notifications.
messageTransportConfiguration | container MessageTransportConfigurationType | [0,1] | A configuration for message transports, e.
workflowConfiguration | container WfConfigurationType | [0,1] | A configuration for workflows.
accessCertification | container AccessCertificationConfigurationType | [0,1] | A configuration for access certifications.
roleManagement | container RoleManagementConfigurationType | [0,1] | A configuration for role management: role catalog, role assignments, etc.
globalPolicyRule | container GlobalPolicyRuleType | [0,-1] | Global policy rules that are applied to all (selected) objects in the system.
providedService | container ProvidedServiceConfigurationType | [0,-1] | Global configuration for services provided by midPoint, such as admin GUI or REST service.
profilingConfiguration | container ProfilingConfigurationType | [0,1] | A configuration for profiling purposes.
cleanupPolicy | container CleanupPoliciesType | [0,1] | A configuration of cleanup intervals and other parameters.
internals | container InternalsConfigurationType | [0,1] | Various internals configuration.
adminGuiConfiguration | container AdminGuiConfigurationType | [0,1] | Administration GUI configuration.
mergeConfiguration | container MergeConfigurationType | [0,-1] | Configurations for object merging.
deploymentInformation | container DeploymentInformationType | [0,1] | Information about midPoint deployment: subscription information, deployment name, description, color and so on.
infrastructure | container InfrastructureConfigurationType | [0,1] | Technical (infrastructure) configuration of midPoint deployment.
fullTextSearch | container FullTextSearchConfigurationType | [0,1] | Configuration of the full text search feature.
expressions | container SystemConfigurationExpressionsType | [0,1] | Specifies profiles for expression evaluations, execution, restrictions, etc.
audit | container SystemConfigurationAuditType | [0,1] | Specifies details regarding creation and recording of audit events.
correlation | container SystemConfigurationCorrelationType | [0,1] | Global settings related to correlation.
simulation | container SystemConfigurationSimulationType | [0,1] | Global settings related to simulation
secretsProviders | container SecretsProvidersType | [0,1] | Secrets providers configuration container.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 0

    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.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 10

    Free-form textual description of the object. This is meant to be displayed in the user interface.

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 11

    AsciiDoc-formatted technical documentation of the object.

  - #### subtype

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order: 15

    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.

  - #### fetchResult

    Flags: RAM,runtime,oper

    Multiplicity: [0,1]

    Display order:

    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.

  - #### extension

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 1000

    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.

  - #### parentOrgRef

    Flags: RAM,oper

    Multiplicity: [0,-1]

    Display order: 240

    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).

  - #### trigger

    Flags: RAM,runtime,oper

    Multiplicity: [0,-1]

    Display order:

    Triggers for this object. They drive invocations of corresponding trigger handlers at specified time.

  - #### metadata

    Flags: RAM,runtime,oper

    Multiplicity: [0,1]

    Display order:

    Meta-data about object creation, modification, etc.

  - #### tenantRef

    Flags: RAM,oper

    Multiplicity: [0,1]

    Display order: 250

    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.

  - #### lifecycleState

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 20

    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.

  - #### operationExecution

    Flags: RAM,runtime,oper

    Multiplicity: [0,-1]

    Display order:

    Description of recent operations executed on this object (or related objects in special cases). The number of operations to be kept here is configurable.

  - #### lensContext

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Model context describing executed operation

  - #### policySituation

    Flags: RAM,runtime,oper

    Multiplicity: [0,-1]

    Display order:

    The policy situation(s) of this object. The situations are result of evaluation of the policy rules. This property is recorded for each object and can be used for reporting, diagnostics, target selection in certification campaigns, etc.

  - #### triggeredPolicyRule

    Flags: RAM,runtime,oper

    Multiplicity: [0,-1]

    Display order:

    Triggered policy rules for this object. (Not necessarily complete; subject to specified storage strategy.) This is EXPERIMENTAL functionality. It is possibly to change in the near future.

  - #### policyException

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Recorded exception from a policy rule. The exceptions that are approved are recoded here to avoid re-evaluating and re-approving them all the time. This is EXPERIMENTAL functionality. It is likely to change in the near future.

  - #### diagnosticInformation

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Diagnostic information attached to this object.

  - #### indestructible

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Protection against accidental deletion. If set to true then this object cannot be deleted. If the object needs to be deleted then it has to be modified first to reset this flag.

  - #### effectiveMarkRef

    Flags: RAM

    Multiplicity: [0,-1]

    Display order:

    Effective object marks for this object. When stored in the repository, this includes computed marks (for shadows by the marking mechanism, and for other objects by the policy rules), as well as applied policy statements. Conditions that these values hold: 1. They always have an OID. 2. For shadows: They have either a default relation, or `org:related` one. The latter means that the reference is inactive, and is present only for the purpose of holding value metadata (usually that it was computed by a rule, but disabled by a statement). 3. They are computed using the `production` configuration (regarding statements, and later e.g. marking rules). Value metadata (currently applies only to shadows): 1. provenance/markingRule is set when the value is provided by the automatic marking rule; 2. provenance/policyStatement is set when the value is influenced by the policy statement (either enforced or suppressed).

  - #### policyStatement

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Policy statements to manually add or exclude effective marks of shadow.

  - #### effectiveOperationPolicy

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Effective provisioning policy derived from Shadow marks and resource configuration. Currently supported for shadows only. Transient: not stored in the repository.

  - #### assignment

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    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).

  - #### iteration

    Flags: RAM,runtime,oper

    Multiplicity: [0,1]

    Display order:

    Iteration number. Starts with 0. It is used to iteratively find unique identifier for the object.

  - #### iterationToken

    Flags: RAM,runtime,oper

    Multiplicity: [0,1]

    Display order:

    Iteration token. String value that is usually a suffix to the identifier based on iteration number. E.g. ".007". It is used to iteratively find unique identifier for the object.

  - #### archetypeRef

    Flags: RAM,oper

    Multiplicity: [0,-1]

    Display order:

    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.

  - #### roleMembershipRef

    Flags: RAM,oper

    Multiplicity: [0,-1]

    Display order:

    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).

  - #### delegatedRef

    Flags: RAM,oper

    Multiplicity: [0,-1]

    Display order:

    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.

  - #### roleInfluenceRef

    Flags: RAM,oper

    Multiplicity: [0,-1]

    Display order:

    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.

  - #### globalAccountSynchronizationSettings

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    System-global account synchronization settings. These will be used if there is no specific settings (e.g. per resource or per request).

  - #### globalSecurityPolicyRef

    Flags: RAM

    Multiplicity: [0,1]

    Display order:

    Reference to the global security policy settings. TODO: better documentation

  - #### modelHooks

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

  - #### logging

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Persistent configuration of logging levels, categories, etc.

  - #### defaultObjectPolicyConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Definition of default object policy for an individual object type. The definition of this policy contains object template and other similar settings. The policy will be used "universally" during all operations with specified object types - unless it is overridden in other definitions (e.g. in resource or org).

  - #### connectorFramework

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Global configuration of connectors and connector frameworks.

  - #### notificationConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A configuration for user notifications. In the future, it might be overridden e.g. at a level of a user.

  - #### messageTransportConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A configuration for message transports, e.g. mail, sms, etc.

  - #### workflowConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A configuration for workflows. Some static aspects are stored in the system configuration file.

  - #### accessCertification

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A configuration for access certifications.

  - #### roleManagement

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A configuration for role management: role catalog, role assignments, etc.

  - #### globalPolicyRule

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Global policy rules that are applied to all (selected) objects in the system. These rules specify compliance and governance constraints.

  - #### providedService

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Global configuration for services provided by midPoint, such as admin GUI or REST service.

  - #### profilingConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A configuration for profiling purposes. The first iteration of profiling integration has only few configuration options, but profiling feature will grow in near future.

  - #### cleanupPolicy

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A configuration of cleanup intervals and other parameters.

  - #### internals

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Various internals configuration.

  - #### adminGuiConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Administration GUI configuration.

  - #### mergeConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Configurations for object merging. E.g. for merging two users.

  - #### deploymentInformation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Information about midPoint deployment: subscription information, deployment name, description, color and so on.

  - #### infrastructure

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Technical (infrastructure) configuration of midPoint deployment.

  - #### fullTextSearch

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Configuration of the full text search feature.

  - #### expressions

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Specifies profiles for expression evaluations, execution, restrictions, etc.

  - #### audit

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Specifies details regarding creation and recording of audit events.

  - #### correlation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Global settings related to correlation.

  - #### simulation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Global settings related to simulation

  - #### secretsProviders

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Secrets providers configuration container.