# SystemConfigurationType (Complex Type)

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

Supertype: ObjectType
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.
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, e.
policySituation | property anyURI | [0,-1] | The policy situation(s) of this object.
triggeredPolicyRule | property EvaluatedPolicyRuleType | [0,-1] | Triggered policy rules for this assignment.
policyException | container PolicyExceptionType | [0,-1] | Recorded exception from a policy rule.
globalAccountSynchronizationSettings | container ProjectionPolicyType | [0,1] | System-global account synchronization settings.
globalPasswordPolicyRef | reference ObjectReferenceType | [0,1] | Reference to the global password policy 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.
defaultUserTemplateRef | reference ObjectReferenceType | [0,1] | Reference to the default user template that will be used "universally" in all situations regarding user internal consistency.
objectTemplate | container ObjectPolicyConfigurationType | [0,-1] | Definition of default object templates for a individual object type.
defaultObjectPolicyConfiguration | container ObjectPolicyConfigurationType | [0,-1] | Definition of default object policy for a 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.
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.
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.
defaultHostname | property string | [0,1] | Hostname that will be used as a public hostname for the midPoint deployment.
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.

- ### Items

  - #### name

    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.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### subtype

    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.

  - #### fetchResult

    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.

  - #### extension

    Flags: dyn,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.

  - #### parentOrgRef

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

  - #### trigger

    Flags: RAM,runtime,oper

    Multiplicity: [0,-1]

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

  - #### metadata

    Flags: RAM,runtime,oper

    Multiplicity: [0,1]

    Meta-data about object creation, modification, etc.

  - #### tenantRef

    Flags: RAM

    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.

  - #### lifecycleState

    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, and so on.

    There are few pre-defined lifecycle states. But custom lifecycle states may also be defined. Pre-defined lifecycle states are:

    - draft: Definition of the new object in progress. The object is NOT active. The definition may change at any moment. It is not ready yet.
    - proposed: Definition of a new object is ready for use, but there is still a review process to be applied (e.g. approval). The object is NOT active. However the definition should not change in this state.
    - active: Active and working definition. Ready to be used without any unusual limitations.
    - deprecated: Active definition which is being phased out. The definition is still fully operational. But it should not be used for new assignments. E.g. it should not be requested, it should not be approved, etc.
    - archived: Inactive historical definition. It is no longer used. It is maintained only for historical, auditing and sentimental reasons.
    - failed: Unexpected error has occurred during object lifecycle. Result of that event is that the object is rendered inactive. The situation cannot be automatically remedied. Manual action is needed.

  - #### operationExecution

    Flags: RAM,runtime,oper

    Multiplicity: [0,-1]

    Description of recent operations executed on this object (or related objects, e.g. shadows in case of a focal object). The number of operations to be kept here is configurable.

  - #### policySituation

    Flags: RAM,runtime,oper

    Multiplicity: [0,-1]

    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]

    Triggered policy rules for this assignment. (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]

    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.

  - #### globalAccountSynchronizationSettings

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### globalPasswordPolicyRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to the global password policy settings. DEPRECATED: use equivalent setting in security policy

  - #### globalSecurityPolicyRef

    Flags: RAM

    Multiplicity: [0,1]

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

  - #### modelHooks

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### logging

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Persistent configuration of logging levels, categories, etc.

  - #### defaultUserTemplateRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to the default user template that will be used "universally" in all situations regarding user internal consistency.

    DEPRECATED: use objectTemplate instead.

  - #### objectTemplate

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Definition of default object templates for a individual object type. The templates will be used "universally" during all operations with specified object types - unless the templates are overridden in other definitions (e.g. in resource). DEPRECATED. Use defaultObjectPolicyConfiguration instead.

  - #### defaultObjectPolicyConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Definition of default object policy for a 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]

    Global configuration of connectors and connector frameworks.

  - #### notificationConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### workflowConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    A configuration for workflows. Some static aspects (e.g. database connection for Activiti) are stored in the system configuration file.

  - #### accessCertification

    Flags: RAM,runtime

    Multiplicity: [0,1]

    A configuration for access certifications.

  - #### roleManagement

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### globalPolicyRule

    Flags: RAM,runtime

    Multiplicity: [0,-1]

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

  - #### profilingConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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]

    A configuration of cleanup intervals and other parameters.

  - #### internals

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Various internals configuration.

  - #### adminGuiConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Administration GUI configuration.

  - #### mergeConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,-1]

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

  - #### defaultHostname

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Hostname that will be used as a public hostname for the midPoint deployment. E.g. it will be used in URLs that point to the midPoint in notification mails. DEPRECATED. Use infrastructure/defaultHostname instead.

  - #### deploymentInformation

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### infrastructure

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Technical (infrastructure) configuration of midPoint deployment.

  - #### fullTextSearch

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Configuration of the full text search feature.