# ConstructionType (Complex Type)

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

Supertype: AbstractConstructionType
Projection construction. This structure defines how a projection (e.g. account) should be constructed.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
description | property string | [0,1] |
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
strength | property ConstructionStrengthType | [0,1] | Strength of the construction defines how aggressively will the construction be applied.
extension | container ExtensionType | [0,1] | Place for non-standard object properties.
resourceRef | reference ObjectReferenceType | [0,1] | Reference to a resource that should host the implied account.
kind | property ShadowKindType | [0,1] | Kind of resource object that should be created on the resource.
intent | property string | [0,1] | Intent of resource object that should be created on the resource.
attribute | container ResourceAttributeDefinitionType | [0,-1] | Resource object attribute values implied by this role.
association | container ResourceObjectAssociationType | [0,-1] | Describes how entitlement is associated to the subject (e.
auxiliaryObjectClass | property QName | [0,-1] | The reference to additional type definitions for this object.

- ### Items

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### strength

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]

    Strength of the construction defines how aggressively will the construction be applied. Strong constructions are applied all the time (relative changes, reconciliation, ...). Weak constructions are applied only if there is another strong construction.

  - #### extension

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Place for non-standard object properties. The elements placed here will be handled exactly like the elements in the object body. It must NOT contain standard elements.

  - #### resourceRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to a resource that should host the implied account.

  - #### kind

    Flags: RAM,runtime,AVals:5

    Multiplicity: [0,1]

    Kind of resource object that should be created on the resource. This element is optional. If not specified defaults to account kind.

  - #### intent

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Intent of resource object that should be created on the resource. This must point to a valid definition in the resource object (in schemaHandling section). This element is optional. If not specified then the definition marked as default in the resource definition should be used.

  - #### attribute

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Resource object attribute values implied by this role. When the role is assigned the attributes specified below should be assigned values specified below.

  - #### association

    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.

  - #### auxiliaryObjectClass

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    The reference to additional type definitions for this object. These auxiliary object classes will be added to the resource object when the construction is provisioned. The reference should point to object class definition (complex type definition in resource schema) and this definition should be marked as auxiliary.