Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
1 contributor

Users who have contributed to this file

<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2010-2017 Evolveum
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<!-- Documentation:
https://wiki.evolveum.com/display/midPoint/DatabaseTable+Connector
https://wiki.evolveum.com/display/midPoint/DatabaseTable
-->
<objects xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"
xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"
xmlns:icfc="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3"
xmlns:my="http://myself.me/schemas/whatever">
<resource oid="10000000-1100-1110-0000-000000000001">
<!-- Resource name. It will be displayed in GUI. -->
<name>Mines DBTable</name>
<!-- Reference to the ICF DatabaseTable connector. OID is "virtual" for now. -->
<connectorRef type="ConnectorType">
<filter>
<q:equal>
<q:path>c:connectorType</q:path>
<q:value>org.identityconnectors.databasetable.DatabaseTableConnector</q:value>
</q:equal>
</filter>
</connectorRef>
<!-- Configuration section contains configuration of the connector,
such as hostnames and passwords -->
<connectorConfiguration>
<!-- Configuration specific for the DBTable connector -->
<icfc:configurationProperties
xmlns:icscdbtable="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/bundle/com.evolveum.polygon.connector-databasetable/org.identityconnectors.databasetable.DatabaseTableConnector">
<icscdbtable:port>3307</icscdbtable:port>
<icscdbtable:quoting></icscdbtable:quoting>
<icscdbtable:host>entityRegistry.mattbrookover.com</icscdbtable:host>
<icscdbtable:user>registry</icscdbtable:user>
<icscdbtable:password><clearValue>my-secret-pw</clearValue></icscdbtable:password>
<icscdbtable:database>entityRegistry</icscdbtable:database>
<icscdbtable:table>PERSON</icscdbtable:table>
<icscdbtable:keyColumn>ID</icscdbtable:keyColumn>
<!-- <icscdbtable:passwordColumn>password</icscdbtable:passwordColumn> -->
<icscdbtable:jdbcDriver>org.mariadb.jdbc.Driver</icscdbtable:jdbcDriver>
<icscdbtable:jdbcUrlTemplate>jdbc:mariadb://entityregistry.mattbrookover.com:3306/entityRegistry</icscdbtable:jdbcUrlTemplate>
<icscdbtable:enableEmptyString>false</icscdbtable:enableEmptyString>
<icscdbtable:rethrowAllSQLExceptions>true</icscdbtable:rethrowAllSQLExceptions>
<icscdbtable:nativeTimestamps>false</icscdbtable:nativeTimestamps>
<icscdbtable:allNative>false</icscdbtable:allNative>
<icscdbtable:changeLogColumn>ACTIVITY_DATE</icscdbtable:changeLogColumn>
<icscdbtable:datasource></icscdbtable:datasource>
</icfc:configurationProperties>
</connectorConfiguration>
<schemaHandling>
<objectType>
<kind>account</kind>
<intent>default</intent>
<displayName>Default Account</displayName>
<default>true</default>
<objectClass>ri:AccountObjectClass</objectClass>
<attribute>
<ref>icfs:uid</ref>
<displayName>User ID</displayName>
<limitations>
<access>
<read>true</read>
</access>
</limitations>
</attribute>
<!--
<attribute>
<ref>ri:personId</ref>
<inbound>
<expression>
<script>
<code>basic.stringify(input)</code>
</script>
</expression>
<target>
<path>$user/name</path>
</target>
</inbound>
</attribute>
-->
<attribute>
<ref>ri:IAMID</ref>
<displayName>IAM GUID</displayName>
<inbound>
<expression>
<script>
<code>basic.stringify(input)</code>
</script>
</expression>
<target>
<path>$user/name</path>
</target>
</inbound>
</attribute>
<attribute>
<ref>ri:FIRST_NAME</ref>
<displayName>First name</displayName>
<inbound>
<target>
<path>$user/givenName</path>
</target>
</inbound>
</attribute>
<attribute>
<ref>ri:LAST_NAME</ref>
<displayName>Last name</displayName>
<inbound>
<target>
<path>$user/familyName</path>
</target>
</inbound>
</attribute>
<attribute>
<ref>ri:MI</ref>
<displayName>Middle name</displayName>
<inbound>
<target>
<path>$user/additionalName</path>
</target>
</inbound>
</attribute>
<activation>
<administrativeStatus>
<inbound/>
</administrativeStatus>
</activation>
</objectType>
</schemaHandling>
<synchronization>
<objectSynchronization>
<!--
The synchronization for this resource is enabled.
It means that the synchronization will react to changes detected by
the system (live sync task, discovery or reconciliation)
See https://wiki.evolveum.com/display/midPoint/Synchronization+Configuration
for details
-->
<name>Default account</name>
<kind>account</kind>
<intent>default</intent>
<enabled>true</enabled>
<!--
<condition>
<script>
<code>basic.getAttributeValue(shadow, 'IAMID') != null</code>
</script>
</condition>
<correlation>
<q:description>
Correlation expression is a search query.
Following search queury will look for users that have "name"
equal to the "IAMID" attribute of the account.
The condition will ensure that "personId" is not
empty, otherwise it would match any midPoint user
with empty "name" attribute, such as "administrator".
The correlation rule always looks for users, so it will not match
any other object type.
</q:description>
<q:equal>
<q:path>c:name</q:path>
<expression>
<path>$account/attributes/ri:IAMID</path>
</expression>
</q:equal>
</correlation>
-->
<!--
<correlation>
<q:description>
Correlation expression is a search query.
Following search queury will look for users that have "employeeNumber"
equal to the "personId" attribute of the account.
The condition will ensure that "personId" is not
empty, otherwise it would match any midPoint user
with empty "employeeNumber" attribute, such as "administrator".
The correlation rule always looks for users, so it will not match
any other object type.
</q:description>
<q:equal>
<q:path>c:employeeNumber</q:path>
<expression>
<path>$account/attributes/ri:personId</path>
</expression>
</q:equal>
</correlation>
-->
<!--
<correlation>
<q:description>
Correlation expression is a search query.
Following search queury will look for users that have "name"
equal to the "name" attribute of the account. Simply speaking,
it will look for match in usernames in the IDM and the resource.
The correlation rule always looks for users, so it will not match
any other object type.
</q:description>
<q:equal>
<q:path>c:employeeNumber</q:path>
<expression>
<script>
<code>
if (basic.getAttributeValue(account, 'personId') != null) return basic.getAttributeValue(account, 'personId')
else return 'F1reW4lkW1thM3!ab45-56bc-4b1a-de78'
</code>
</script>
</expression>
</q:equal>
</correlation>-->
<!-- Confirmation rule may be here, but as the search above will
always return at most one match, the confirmation rule is not needed. -->
<!-- Following section describes reactions to a situations.
The setting here assumes that this resource is authoritative,
therefore all accounts created on the resource should be
reflected as new users in IDM.
See http://wiki.evolveum.com/display/midPoint/Synchronization+Situations
-->
<reaction>
<situation>linked</situation>
<synchronize>true</synchronize>
</reaction>
<reaction>
<situation>deleted</situation>
<synchronize>true</synchronize>
<action>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#unlink</handlerUri>
</action>
</reaction>
<reaction>
<situation>unlinked</situation>
<synchronize>true</synchronize>
<action>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#link</handlerUri>
</action>
</reaction>
<reaction>
<situation>unmatched</situation>
<synchronize>true</synchronize>
<action>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus</handlerUri>
</action>
</reaction>
</objectSynchronization>
</synchronization>
</resource>
</objects>