|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
Field Summary | |
---|---|
static java.lang.String |
TEST_CONNECTION_CONNECTOR_CONNECTION_OPERATION
Check whether the connector can be initialized. |
static java.lang.String |
TEST_CONNECTION_CONNECTOR_INIT_OPERATION
Check whether the connector can be initialized. |
static java.lang.String |
TEST_CONNECTION_CONNECTOR_SANITY_OPERATION
Check whether the connector can be used to fetch some mandatory objects (e.g. |
static java.lang.String |
TEST_CONNECTION_CONNECTOR_SCHEMA_OPERATION
Check whether the connector can fetch and process resource schema. |
static java.lang.String |
TEST_CONNECTION_CONNECTOR_VALIDATION_OPERATION
Check whether the configuration is valid e.g. |
static java.lang.String |
TEST_CONNECTION_OPERATION
Prefix for all the "standardized" test resource tests. |
Method Summary | ||
---|---|---|
|
addObject(T object,
ScriptsType scripts,
OperationResult parentResult)
Add new object. |
|
|
deleteObject(java.lang.Class<T> type,
java.lang.String oid,
ScriptsType scripts,
OperationResult parentResult)
Deletes object with specified OID. |
|
java.util.Set<ConnectorType> |
discoverConnectors(ConnectorHostType hostType,
OperationResult parentResult)
Discovers local or remote connectors. |
|
|
getObject(java.lang.Class<T> type,
java.lang.String oid,
PropertyReferenceListType resolve,
OperationResult parentResult)
Returns object for provided OID. |
|
PropertyAvailableValuesListType |
getPropertyAvailableValues(java.lang.String oid,
PropertyReferenceListType properties,
OperationResult parentResult)
Returns list of available values for specified properties. |
|
|
listObjects(java.lang.Class<T> objectType,
PagingType paging,
OperationResult parentResult)
Returns all objects of specified type that are available to the implementation. |
|
ResultList<? extends ResourceObjectShadowType> |
listResourceObjects(java.lang.String resourceOid,
javax.xml.namespace.QName objectClass,
PagingType paging,
OperationResult parentResult)
Lists resource objects. |
|
|
modifyObject(java.lang.Class<T> type,
ObjectModificationType objectChange,
ScriptsType scripts,
OperationResult parentResult)
Modifies object using relative change description. |
|
void |
postInit(OperationResult parentResult)
Finish initialization of provisioning system. |
|
|
searchObjects(java.lang.Class<T> type,
QueryType query,
PagingType paging,
OperationResult parentResult)
Search for objects. |
|
void |
searchObjectsIterative(QueryType query,
PagingType paging,
ResultHandler handler,
OperationResult parentResult)
Search for objects iteratively. |
|
int |
synchronize(java.lang.String resourceOid,
Task task,
OperationResult parentResult)
Collect external changes on a resource and call the business logic with the accumulated change data. |
|
OperationResult |
testResource(java.lang.String resourceOid)
Test the resource connection and basic resource connector functionality. |
Field Detail |
---|
static final java.lang.String TEST_CONNECTION_OPERATION
static final java.lang.String TEST_CONNECTION_CONNECTOR_VALIDATION_OPERATION
static final java.lang.String TEST_CONNECTION_CONNECTOR_INIT_OPERATION
static final java.lang.String TEST_CONNECTION_CONNECTOR_CONNECTION_OPERATION
static final java.lang.String TEST_CONNECTION_CONNECTOR_SCHEMA_OPERATION
static final java.lang.String TEST_CONNECTION_CONNECTOR_SANITY_OPERATION
Method Detail |
---|
<T extends ObjectType> T getObject(java.lang.Class<T> type, java.lang.String oid, PropertyReferenceListType resolve, OperationResult parentResult) throws ObjectNotFoundException, CommunicationException, SchemaException
type
- the type (class) of object to getoid
- OID of the object to getresolve
- list of properties to resolve in the fetched objectresult
- parent OperationResult (in/out)
ObjectNotFoundException
- requested object does not exist
CommunicationException
- error communicating with the resource
SchemaException
- error dealing with resource schema
java.lang.IllegalArgumentException
- wrong OID format, etc.
GenericConnectorException
- unknown connector framework error<T extends ObjectType> java.lang.String addObject(T object, ScriptsType scripts, OperationResult parentResult) throws ObjectAlreadyExistsException, SchemaException, CommunicationException, ObjectNotFoundException
object
- object to createscripts
- scripts to execute before/after the operationparentResult
- parent OperationResult (in/out)
ObjectAlreadyExistsException
- object with specified identifiers already exists, cannot add
SchemaException
- error dealing with resource schema, e.g. schema violation
CommunicationException
- error communicating with the resource
ObjectNotFoundException
- appropriate connector object was not found
java.lang.IllegalArgumentException
- wrong OID format, etc.
GenericConnectorException
- unknown connector framework errorint synchronize(java.lang.String resourceOid, Task task, OperationResult parentResult) throws ObjectNotFoundException, CommunicationException, SchemaException
oid
- OID of the resource for which to attempt synchronizationparentResult
- parent OperationResult (in/out)
ObjectNotFoundException
- specified resource definition (OID) does not exist
CommunicationException
- error communicating with the resource
SchemaException
- error dealing with resource schema
GenericConnectorException
- unknown connector framework error<T extends ObjectType> ResultList<T> listObjects(java.lang.Class<T> objectType, PagingType paging, OperationResult parentResult)
objectType
- paging
- paging specification to limit operation result (optional)parentResult
- parent OperationResult (in/out)
java.lang.IllegalArgumentException
- wrong object type
GenericConnectorException
- unknown connector framework error<T extends ObjectType> ResultList<T> searchObjects(java.lang.Class<T> type, QueryType query, PagingType paging, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException
query
- search querypaging
- paging specification to limit operation result (optional)parentResult
- parent OperationResult (in/out)
java.lang.IllegalArgumentException
- wrong object type
GenericConnectorException
- unknown connector framework error
SchemaException
- unknown property used in search query
ObjectNotFoundException
CommunicationException
void searchObjectsIterative(QueryType query, PagingType paging, ResultHandler handler, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException
query
- search querypaging
- paging specification to limit operation result (optional)parentResult
- parent OperationResult (in/out)handler
- result handler
java.lang.IllegalArgumentException
- wrong object type
GenericConnectorException
- unknown connector framework error
SchemaException
- unknown property used in search query
ObjectNotFoundException
- appropriate connector object was not found
CommunicationException
<T extends ObjectType> void modifyObject(java.lang.Class<T> type, ObjectModificationType objectChange, ScriptsType scripts, OperationResult parentResult) throws ObjectNotFoundException, SchemaException, CommunicationException
objectChange
- specification of object changesscripts
- scripts that should be executed before of after operationparentResult
- parent OperationResult (in/out)
ObjectNotFoundException
- specified object does not exist
SchemaException
- resulting object would violate the schema
java.lang.IllegalArgumentException
- wrong OID format, described change is not applicable
GenericConnectorException
- unknown connector framework error
CommunicationException
<T extends ObjectType> void deleteObject(java.lang.Class<T> type, java.lang.String oid, ScriptsType scripts, OperationResult parentResult) throws ObjectNotFoundException, CommunicationException, SchemaException
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 exist
java.lang.IllegalArgumentException
- wrong OID format, described change is not applicable
GenericConnectorException
- unknown connector framework error
CommunicationException
SchemaException
PropertyAvailableValuesListType getPropertyAvailableValues(java.lang.String oid, PropertyReferenceListType properties, OperationResult parentResult) throws ObjectNotFoundException
oid
- OID of the object for which to determine valuesproperties
- list of properties for which to determine valuesparentResult
- parentResult parent OperationResult (in/out)
ObjectNotFoundException
- specified object does not exist
java.lang.IllegalArgumentException
- wrong OID format
GenericConnectorException
- unknown connector framework errorOperationResult testResource(java.lang.String resourceOid) throws ObjectNotFoundException
resourceOid
- OID of resource to test
ObjectNotFoundException
- specified object does not exist
java.lang.IllegalArgumentException
- wrong OID format
GenericConnectorException
- unknown connector framework errorjava.util.Set<ConnectorType> discoverConnectors(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 hostResultList<? extends ResourceObjectShadowType> listResourceObjects(java.lang.String resourceOid, javax.xml.namespace.QName objectClass, PagingType paging, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException
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 exist
SchemaException
- error handling resource schema
CommunicationException
- error communicating with the resourcevoid postInit(OperationResult parentResult)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |