public interface ProvisioningService
Provisioning Service Interface.
Status: public Stability: DRAFT, some changes are likely
This service retrieves information about resource objects and resources and handles changes to resource objects. Implementations of this interface will apply the changes to accounts, groups and other similar objects to the target resources. It also provides information about connectors and similar configuration of access to the resources.
Supported object types:
TODO: better documentation
Modifier and Type | Method and Description |
---|---|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
addObject(PrismObject<T> object,
com.evolveum.midpoint.xml.ns._public.common.common_3.OperationProvisioningScriptsType scripts,
ProvisioningOperationOptions options,
Task task,
OperationResult parentResult)
Add new object.
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
applyDefinition(Class<T> type,
ObjectQuery query,
OperationResult parentResult)
Applies appropriate definition to the query.
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
applyDefinition(ObjectDelta<T> delta,
Objectable object,
OperationResult parentResult)
Applies appropriate definition to the shadow/resource delta (uses provided object to get necessary information)
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
applyDefinition(ObjectDelta<T> delta,
OperationResult parentResult)
Applies appropriate definition to the shadow/resource delta.
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
applyDefinition(PrismObject<T> shadow,
OperationResult parentResult)
Applies appropriate definition to the shadow.
|
ConstraintsCheckingResult |
checkConstraints(RefinedObjectClassDefinition shadowDefinition,
PrismObject<com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType> shadowObject,
com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType resourceType,
String shadowOid,
ResourceShadowDiscriminator resourceShadowDiscriminator,
ConstraintViolationConfirmer constraintViolationConfirmer,
OperationResult parentResult) |
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
countObjects(Class<T> type,
ObjectQuery query,
OperationResult parentResult) |
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
deleteObject(Class<T> type,
String oid,
ProvisioningOperationOptions option,
com.evolveum.midpoint.xml.ns._public.common.common_3.OperationProvisioningScriptsType scripts,
Task task,
OperationResult parentResult)
Deletes object with specified OID.
|
Set<com.evolveum.midpoint.xml.ns._public.common.common_3.ConnectorType> |
discoverConnectors(com.evolveum.midpoint.xml.ns._public.common.common_3.ConnectorHostType hostType,
OperationResult parentResult)
Discovers local or remote connectors.
|
void |
enterConstraintsCheckerCache() |
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
executeScript(String resourceOid,
com.evolveum.midpoint.xml.ns._public.common.common_3.ProvisioningScriptType script,
Task task,
OperationResult parentResult)
Executes a single provisioning script.
|
void |
exitConstraintsCheckerCache() |
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType> |
finishOperation(PrismObject<T> object,
ProvisioningOperationOptions options,
Task task,
OperationResult parentResult) |
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
getObject(Class<T> type,
String oid,
Collection<SelectorOptions<GetOperationOptions>> options,
Task task,
OperationResult parentResult)
Returns object for provided OID.
|
ProvisioningDiag |
getProvisioningDiag()
Returns a diagnostic information.
|
List<PrismObject<? extends com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType>> |
listResourceObjects(String resourceOid,
QName objectClass,
ObjectPaging paging,
OperationResult parentResult)
Lists resource objects.
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
modifyObject(Class<T> type,
String oid,
Collection<? extends ItemDelta> modifications,
com.evolveum.midpoint.xml.ns._public.common.common_3.OperationProvisioningScriptsType scripts,
ProvisioningOperationOptions options,
Task task,
OperationResult parentResult)
Modifies object using relative change description.
|
void |
postInit(OperationResult parentResult)
Finish initialization of provisioning system.
|
void |
provisioningSelfTest(OperationResult parentTestResult,
Task task)
Runs a short, non-destructive internal provisioning test.
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
searchObjects(Class<T> type,
ObjectQuery query,
Collection<SelectorOptions<GetOperationOptions>> options,
OperationResult parentResult)
Search for objects.
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> |
searchObjectsIterative(Class<T> type,
ObjectQuery query,
Collection<SelectorOptions<GetOperationOptions>> options,
ResultHandler<T> handler,
OperationResult parentResult)
Search for objects iteratively.
|
int |
synchronize(String resourceOid,
QName objectClass,
Task task,
OperationResult parentResult)
Collect external changes on a resource and call the business logic with
the accumulated change data.
|
OperationResult |
testResource(String resourceOid)
Test the resource connection and basic resource connector functionality.
|
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> PrismObject<T> getObject(Class<T> type, String oid, Collection<SelectorOptions<GetOperationOptions>> options, Task task, OperationResult parentResult) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException, SecurityViolationException
type
- the type (class) of object to getoid
- OID of the object to getparentResult
- parent OperationResult (in/out)ObjectNotFoundException
- requested object does not existCommunicationException
- error communicating with the resourceSchemaException
- error dealing with resource schemaConfigurationException
- Wrong resource or connector configurationSecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesIllegalArgumentException
- wrong OID format, etc.GenericConnectorException
- unknown connector framework error<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> String addObject(PrismObject<T> object, com.evolveum.midpoint.xml.ns._public.common.common_3.OperationProvisioningScriptsType scripts, ProvisioningOperationOptions options, Task task, OperationResult parentResult) throws ObjectAlreadyExistsException, SchemaException, CommunicationException, ObjectNotFoundException, ConfigurationException, SecurityViolationException
object
- object to createscripts
- scripts to execute before/after the operationparentResult
- parent OperationResult (in/out)ObjectAlreadyExistsException
- object with specified identifiers already exists, cannot addSchemaException
- error dealing with resource schema, e.g. schema violationCommunicationException
- error communicating with the resourceObjectNotFoundException
- appropriate connector object was not foundConfigurationException
IllegalArgumentException
- wrong OID format, etc.GenericConnectorException
- unknown connector framework errorSecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesint synchronize(String resourceOid, QName objectClass, Task task, OperationResult parentResult) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException, SecurityViolationException
resourceOid
- OID of the resource for which to attempt synchronizationparentResult
- parent OperationResult (in/out)ObjectNotFoundException
- some of key objects (resource, task, ...) do not existCommunicationException
- error communicating with the resourceSchemaException
- error dealing with resource schemaConfigurationException
SecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesGenericConnectorException
- unknown connector framework error<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> SearchResultList<PrismObject<T>> searchObjects(Class<T> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException
query
- search querypaging
- paging specification to limit operation result (optional)parentResult
- parent OperationResult (in/out)IllegalArgumentException
- wrong object typeGenericConnectorException
- unknown connector framework errorSchemaException
- unknown property used in search queryConfigurationException
SecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesObjectNotFoundException
CommunicationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> Integer countObjects(Class<T> type, ObjectQuery query, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> SearchResultMetadata searchObjectsIterative(Class<T> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, ResultHandler<T> handler, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException
query
- search queryhandler
- result handlerparentResult
- parent OperationResult (in/out)IllegalArgumentException
- wrong object typeGenericConnectorException
- unknown connector framework errorSchemaException
- unknown property used in search queryObjectNotFoundException
- appropriate connector object was not foundConfigurationException
SecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesCommunicationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> String modifyObject(Class<T> type, String oid, Collection<? extends ItemDelta> modifications, com.evolveum.midpoint.xml.ns._public.common.common_3.OperationProvisioningScriptsType scripts, ProvisioningOperationOptions options, Task task, OperationResult parentResult) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ObjectAlreadyExistsException
scripts
- scripts that should be executed before of after operationparentResult
- parent OperationResult (in/out)ObjectNotFoundException
- specified object does not existSchemaException
- resulting object would violate the schemaIllegalArgumentException
- wrong OID format, described change is not applicableGenericConnectorException
- unknown connector framework errorSecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesObjectAlreadyExistsException
- if resulting object would have name which already exists in another object of the same typeCommunicationException
ConfigurationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> void deleteObject(Class<T> type, String oid, ProvisioningOperationOptions option, com.evolveum.midpoint.xml.ns._public.common.common_3.OperationProvisioningScriptsType scripts, Task task, OperationResult parentResult) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException, SecurityViolationException
Deletes object with specified OID.
Must fail if object with specified OID does not exists. Should be atomic.
oid
- OID of object to deletescripts
- scripts that should be executed before of after operationparentResult
- parent OperationResult (in/out)ObjectNotFoundException
- specified object does not existConfigurationException
SecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesIllegalArgumentException
- wrong OID format, described change is not applicableGenericConnectorException
- unknown connector framework errorCommunicationException
SchemaException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> void executeScript(String resourceOid, com.evolveum.midpoint.xml.ns._public.common.common_3.ProvisioningScriptType script, Task task, OperationResult parentResult) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ObjectAlreadyExistsException
script
- script to executeparentResult
- parent OperationResult (in/out)ObjectNotFoundException
- specified object does not existSchemaException
- resulting object would violate the schemaIllegalArgumentException
- wrong OID format, described change is not applicableGenericConnectorException
- unknown connector framework errorSecurityViolationException
- Security violation while communicating with the connector or processing provisioning policiesObjectAlreadyExistsException
- if resulting object would have name which already exists in another object of the same typeCommunicationException
ConfigurationException
OperationResult testResource(String resourceOid) throws ObjectNotFoundException
resourceOid
- OID of resource to testObjectNotFoundException
- specified object does not existIllegalArgumentException
- wrong OID formatGenericConnectorException
- unknown connector framework errorConnectorTestOperation
Set<com.evolveum.midpoint.xml.ns._public.common.common_3.ConnectorType> discoverConnectors(com.evolveum.midpoint.xml.ns._public.common.common_3.ConnectorHostType hostType, OperationResult parentResult) throws CommunicationException
hostType
- definition of a connector host or nullparentResult
- parentResult parent OperationResult (in/out)CommunicationException
- error connecting to a remote hostList<PrismObject<? extends com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType>> listResourceObjects(String resourceOid, QName objectClass, ObjectPaging paging, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException
resourceOid
- OID of the resource to fetch objects fromobjectClass
- Object class of the objects to fetchpaging
- paging specification to limit operation result (optional)parentResult
- parent OperationResult (in/out)ObjectNotFoundException
- specified resource object does not existSchemaException
- error handling resource schemaCommunicationException
- error communicating with the resourceConfigurationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType> void finishOperation(PrismObject<T> object, ProvisioningOperationOptions options, Task task, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, ObjectAlreadyExistsException, SecurityViolationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> void applyDefinition(ObjectDelta<T> delta, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> void applyDefinition(ObjectDelta<T> delta, Objectable object, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> void applyDefinition(PrismObject<T> shadow, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException
<T extends com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType> void applyDefinition(Class<T> type, ObjectQuery query, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException
void provisioningSelfTest(OperationResult parentTestResult, Task task)
ProvisioningDiag getProvisioningDiag()
ProvisioningDiag
void postInit(OperationResult parentResult)
ConstraintsCheckingResult checkConstraints(RefinedObjectClassDefinition shadowDefinition, PrismObject<com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType> shadowObject, com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType resourceType, String shadowOid, ResourceShadowDiscriminator resourceShadowDiscriminator, ConstraintViolationConfirmer constraintViolationConfirmer, OperationResult parentResult) throws CommunicationException, ObjectAlreadyExistsException, SchemaException, SecurityViolationException, ConfigurationException, ObjectNotFoundException
void enterConstraintsCheckerCache()
void exitConstraintsCheckerCache()
Copyright © 2015 evolveum. All rights reserved.