# CapabilityCollectionType (Complex Type)

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

Collection of resource capabilities. Each element in this collection defines a specific resource capability. In the future, an extension element could be added here to cover deployment-specific capabilities. (If such need arises.)

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
schema | container SchemaCapabilityType | [0,1] | Describes capability to discover resource schema.
discoverConfiguration | container DiscoverConfigurationCapabilityType | [0,1] | Describes capability to do configuration discovery, check and recommendation (`DiscoverConfigurationApiOp`).
activation | container ActivationCapabilityType | [0,1] | Describes capability to process activation data, which means enable/disable of accounts, dates for scheduled enable/disable and similar things related to make the account active.
references | container ReferencesCapabilityType | [0,1] | May specify either the native or simulated references.
credentials | container CredentialsCapabilityType | [0,1] | Describes capability to present credentials in a structured way.
liveSync | container LiveSyncCapabilityType | [0,1] | Describes capability to detect changes in almost real time (live synchronization).
asyncUpdate | container AsyncUpdateCapabilityType | [0,1] | Describes capability to process asynchronous updates.
create | container CreateCapabilityType | [0,1] | Describes create capability.
read | container ReadCapabilityType | [0,1] | Describes read capability.
update | container UpdateCapabilityType | [0,1] | Describes update capability.
delete | container DeleteCapabilityType | [0,1] | Describes delete capability.
testConnection | container TestConnectionCapabilityType | [0,1] | Describes capability to test connection to the resource once the connector is configured.
script | container ScriptCapabilityType | [0,1] | Describes capability to execute scripts (short pieces of program) on the connector or resource.
pagedSearch | container PagedSearchCapabilityType | [0,1] | How to handle paged searches.
countObjects | container CountObjectsCapabilityType | [0,1] | Ability to efficiently count objects.
addRemoveAttributeValues | container AddRemoveAttributeValuesCapabilityType | [0,1] | Indication that ADD and REMOVE of attribute values is reliably supported.
auxiliaryObjectClasses | container AuxiliaryObjectClassesCapabilityType | [0,1] | Describes capability to specify additional (auxiliary) object classes in addition to the primary object class.
runAs | container RunAsCapabilityType | [0,1] | Describes capability to execute operations with specified identity.
behavior | container BehaviorCapabilityType | [0,1] | Container for various behavior-related capabilities.

- ### Items

  - #### schema

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to discover resource schema.

  - #### discoverConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to do configuration discovery, check and recommendation (`DiscoverConfigurationApiOp`).

  - #### activation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to process activation data, which means enable/disable of accounts, dates for scheduled enable/disable and similar things related to make the account active.

  - #### references

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    May specify either the native or simulated references. Native references are provided by the connector. In that case, the "type" item is empty. Also, this capability cannot be disabled by setting the "enabled" property to "false". MidPoint will ignore that setting, and the connector-provided references will still be there and will be used normally. Simulated references are provided by the engineer. In that case, the "type" item is used to specify how they should be simulated. The "enabled" property is used in the standard way.

  - #### credentials

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to present credentials in a structured way.

  - #### liveSync

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to detect changes in almost real time (live synchronization).

  - #### asyncUpdate

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to process asynchronous updates. Note that this is currently supported only by the built-in AsyncUpdateConnector.

  - #### create

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes create capability.

  - #### read

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes read capability.

  - #### update

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes update capability.

  - #### delete

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes delete capability.

  - #### testConnection

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to test connection to the resource once the connector is configured.

  - #### script

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to execute scripts (short pieces of program) on the connector or resource.

  - #### pagedSearch

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    How to handle paged searches. Although deals primarily with GUI issues, may be useful for other kinds of access as well. If not present, paged searches are not enabled for this resource/kind/intent/objectClass. EXPERIMENTAL.

  - #### countObjects

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Ability to efficiently count objects. Although deals primarily with GUI issues, may be useful for other kinds of access as well. EXPERIMENTAL.

  - #### addRemoveAttributeValues

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Indication that ADD and REMOVE of attribute values is reliably supported. If this capability is not present or disabled, READ+REPLACE mode is assumed. (Can be overridden at the level of individual attributes via readReplaceMode property.) BEWARE: READ+REPLACE is currently supported for attributes only - not for subjectToObject associations. REMOVED: Use addRemoveAttributeValues element of Update capability instead.

  - #### auxiliaryObjectClasses

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to specify additional (auxiliary) object classes in addition to the primary object class.

  - #### runAs

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Describes capability to execute operations with specified identity.

  - #### behavior

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Container for various behavior-related capabilities.