# 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] | TODO
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.

- ### Items

  - #### schema

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Describes capability to discover resource schema.

  - #### discoverConfiguration

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### activation

    Flags: RAM,runtime

    Multiplicity: [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

    Flags: RAM,runtime

    Multiplicity: [0,1]

    TODO

  - #### credentials

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Describes capability to present credentials in a structured way.

  - #### liveSync

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### asyncUpdate

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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]

    Describes create capability.

  - #### read

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Describes read capability.

  - #### update

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Describes update capability.

  - #### delete

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Describes delete capability.

  - #### testConnection

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### script

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### pagedSearch

    Flags: RAM,runtime

    Multiplicity: [0,1]

    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]

    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]

    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]

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

  - #### runAs

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Describes capability to execute operations with specified identity.