# ResourceObjectTypeDefinitionType (Complex Type)

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

Defines a type from the resource schema (object class) that can be used for creating accounts, entitlements and possible other concepts. This is abstract supertype for other types.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
$itemDefinition.Name.LocalPart | property ShadowKindType | [0,1] |
$itemDefinition.Name.LocalPart | property string | [0,1] |
$itemDefinition.Name.LocalPart | property string | [0,1] |
$itemDefinition.Name.LocalPart | property string | [0,1] |
$itemDefinition.Name.LocalPart | property boolean | [0,1] |
$itemDefinition.Name.LocalPart | property QName | [1,1] |
$itemDefinition.Name.LocalPart | property QName | [0,-1] |
$itemDefinition.Name.LocalPart | container ResourceBidirectionalMappingAndDefinitionType | [0,1] | Outbound/inbound mappings for auxiliary object classes.
$itemDefinition.Name.LocalPart | container ResourceObjectMultiplicityType | [0,1] | TODO
$itemDefinition.Name.LocalPart | container ResourceObjectReferenceType | [0,1] | The definition of base context (resource object container).
$itemDefinition.Name.LocalPart | property SearchHierarchyScopeType | [0,1] | Definition of search hierarchy scope.
$itemDefinition.Name.LocalPart | container ResourceAttributeDefinitionType | [0,-1] | Specification of handling of an account attribute.
$itemDefinition.Name.LocalPart | container ResourceObjectTypeDependencyType | [0,-1] |
$itemDefinition.Name.LocalPart | container ResourceObjectAssociationType | [0,-1] | Describes how entitlement is associated to the subject (e.
$itemDefinition.Name.LocalPart | property ResourceObjectVolatilityType | [0,1] |
$itemDefinition.Name.LocalPart | property IterationSpecificationType | [0,1] |
$itemDefinition.Name.LocalPart | property ResourceObjectPatternType | [0,-1] |
$itemDefinition.Name.LocalPart | container ResourceActivationDefinitionType | [0,1] | Definition of activation handling for this account type.
$itemDefinition.Name.LocalPart | property ResourceCredentialsDefinitionType | [0,1] |
$itemDefinition.Name.LocalPart | reference ObjectReferenceType | [0,1] | Reference to the object type security policy settings.
$itemDefinition.Name.LocalPart | container ResourceObjectLifecycleDefinitionType | [0,1] | Definition of resource object lifecycle handling.
$itemDefinition.Name.LocalPart | container CapabilityCollectionType | [0,1] | The configured capabilities of the resource specific to this object type.
$itemDefinition.Name.LocalPart | container ProjectionPolicyType | [0,1] | Object type related account synchronization settings.

- ### Items

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [1,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,-1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Outbound/inbound mappings for auxiliary object classes. These can be used to manipulate auxiliary object classes beyond the simple capabilities provided by the auxiliaryObjectClass property.

    NOTE: outbound mapping for auxiliary object classes is not yet supported.

    If tolerant flag is set to true then midPoint will tolerate existing auxiliary object classes on resource objects. MidPoint will add/remove auxiliary object classes only if there is an explicit operation for that (e.g. assign/unassign of role with auxiliary object class definition). If tolerant flag set to false then midPoint will strictly synchronize auxiliary object classes of resource objects with the definition given in midPoint configuration. This is the default behavior.

    NOTE: the "tolerant" behavior is disabled by default for auxiliary object classes. This is different for most other midPoint definitions where tolerant behavior is enabled by default. This inconsistency has historic (compatibility) reasons. But having auxiliary object classes non-tolerant also makes a lot of sense in usual situations.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    TODO

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The definition of base context (resource object container). This object will be used as a base for searches for objects of this type. Usually only the objects that are hierarchically below the baseContext are returned by such a search. E.g. this is used to specify LDAP organizationalUnit that contains users or groups of particular type.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]

    Definition of search hierarchy scope. It specifies how "deep" the search should go into the object hierarchy. It is only applicable to resources that support hierarchical organization of objects (e.g. LDAP resources).

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Specification of handling of an account attribute. This overrides annotations in the resource schema.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,-1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Describes how entitlement is associated to the subject (e.g. account or other entitlement). Description of the entitlement handling details, such as display name, read/write access and so on. This is supposed to be used in schemaHandling part and in assignments/inducements and therefore it describes the decisions of the system administrator about the way how entitlements are used in midPoint.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,-1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Definition of activation handling for this account type.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM

    Multiplicity: [0,1]

    Reference to the object type security policy settings.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Definition of resource object lifecycle handling. It defines how the initial lifecycle state is determined, constraints for lifecycle transitions, etc.

  - #### $itemDefinition.Name.LocalPart

    Flags: dyn,RAM,runtime

    Multiplicity: [0,1]

    The configured capabilities of the resource specific to this object type. This part contains "tweaks" of the native capabilities. Some of the native capabilities may be turned off, other capabilities may be simulated. If this element is not present at all then the native+configured capabilities at the resource level are applied.

  - #### $itemDefinition.Name.LocalPart

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Object type related account synchronization settings.