repo.jdbc.json revision d262a3a319f8cb8cc6de3fda6ce722463ecff38f
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos{
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "dbType" : "DB2",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "useDataSource" : "default",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "maxBatchSize" : 100,
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "maxTxRetry" : 5,
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "queries" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "genericTables" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "credential-query" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.${_propTable} prop ON obj.id = prop.${_mainTable}_id INNER JOIN ${_dbSchema}.objecttypes objtype ON objtype.id = obj.objecttypes_id WHERE prop.propkey='/userName' AND prop.propvalue = ${username} AND objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "find-by-id" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.objecttypes objtype ON objtype.id = obj.objecttypes_id WHERE obj.objectid = ${id} AND objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "get-by-field-value" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.${_propTable} prop ON obj.id = prop.${_mainTable}_id INNER JOIN ${_dbSchema}.objecttypes objtype ON objtype.id = obj.objecttypes_id WHERE prop.propkey=CONCAT('/', ${field}) AND prop.propvalue = ${value} AND objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-all-ids" : "SELECT obj.objectid FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.objecttypes objtype ON obj.objecttypes_id = objtype.id WHERE objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-all-ids-count" : "SELECT COUNT(obj.objectid) AS total FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.objecttypes objtype ON obj.objecttypes_id = objtype.id WHERE objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-all" : "SELECT obj.fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.objecttypes objtype ON obj.objecttypes_id = objtype.id WHERE objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-all-count" : "SELECT COUNT(obj.fullobject) AS total FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.objecttypes objtype ON obj.objecttypes_id = objtype.id WHERE objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "for-userName" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.${_propTable} prop ON obj.id = prop.${_mainTable}_id INNER JOIN ${_dbSchema}.objecttypes objtype ON objtype.id = obj.objecttypes_id WHERE prop.propkey='/userName' AND prop.propvalue = ${uid} AND objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "credential-internaluser-query" : "SELECT credprop.${_mainTable}_id, credprop.propkey, credprop.propvalue FROM ${_dbSchema}.${_propTable} credprop INNER JOIN ${_dbSchema}.${_mainTable} obj ON obj.id = credprop.${_mainTable}_id INNER JOIN ${_dbSchema}.${_propTable} conditionprop ON obj.id = conditionprop.${_mainTable}_id INNER JOIN ${_dbSchema}.objecttypes objtype ON objtype.id = obj.objecttypes_id WHERE credprop.propkey='/userPassword' AND conditionprop.propkey='/_id' AND conditionprop.propvalue = ${username} AND objtype.objecttype = ${_resource}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "scan-tasks" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.${_propTable} prop ON obj.id = prop.${_mainTable}_id LEFT OUTER JOIN ${_dbSchema}.${_propTable} complete ON obj.id = complete.${_mainTable}_id AND complete.propkey=${taskState.completed} INNER JOIN ${_dbSchema}.objecttypes objtype ON objtype.id = obj.objecttypes_id WHERE ( prop.propkey=${property} AND prop.propvalue < ${condition.before} AND objtype.objecttype = ${_resource} ) AND ( complete.propvalue is NULL )",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-cluster-failed-instances" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.${_propTable} prop ON obj.id = prop.${_mainTable}_id INNER JOIN ${_dbSchema}.${_propTable} state ON obj.id = state.${_mainTable}_id WHERE (prop.propkey = '/timestamp' AND prop.propvalue <= ${timestamp}) AND (state.propkey = '/state' AND (state.propvalue = '1' OR state.propvalue = '2'))",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-cluster-instances" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.${_propTable} prop ON obj.id = prop.${_mainTable}_id WHERE (prop.propkey = '/type' AND prop.propvalue = 'state')",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-cluster-events" : "SELECT fullobject FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.${_propTable} prop1 ON obj.id = prop1.${_mainTable}_id INNER JOIN ${_dbSchema}.${_propTable} prop2 ON obj.id = prop2.${_mainTable}_id WHERE (prop1.propkey = '/type' AND prop1.propvalue = 'event') AND (prop2.propkey = '/instanceId' AND prop2.propvalue = ${instanceId})"
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "explicitTables" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-all-ids" : "SELECT objectid FROM ${_dbSchema}.${_table}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-all-ids-count" : "SELECT COUNT(objectid) AS total FROM ${_dbSchema}.${_mainTable} obj INNER JOIN ${_dbSchema}.objecttypes objtype ON obj.objecttypes_id = objtype.id WHERE objtype.objecttype = ${_resource}",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "for-internalcredentials" : "select * FROM ${_dbSchema}.${_table} WHERE objectid = ${uid}",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "get-notifications-for-user" : "select * FROM ${_dbSchema}.${_table} WHERE receiverId = ${userId} order by createDate desc",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "for-userName" : "SELECT * FROM ${_dbSchema}.${_table} WHERE userName = ${uid}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "credential-query" : "SELECT * FROM ${_dbSchema}.${_table} WHERE objectid = ${username} and accountStatus = 'active'",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "credential-internaluser-query" : "SELECT objectid, pwd, roles FROM ${_dbSchema}.${_table} WHERE objectid = ${username}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "links-for-firstId" : "SELECT * FROM ${_dbSchema}.${_table} WHERE linkType = ${linkType} AND firstid = ${firstId}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "links-for-secondId" : "SELECT * FROM ${_dbSchema}.${_table} WHERE linkType = ${linkType} AND secondid = ${secondId}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "links-for-linkType" : "SELECT * FROM ${_dbSchema}.${_table} WHERE linkType = ${linkType}",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "scan-tasks" : "SELECT * FROM ${_dbSchema}.${_table} WHERE ${property} < ${condition.before} AND ${taskState.completed} is NULL",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "query-all" : "SELECT * FROM ${_dbSchema}.${_table}"
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos }
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "commands" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "genericTables" : { },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "explicitTables" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "purge-by-recon-expired" : "DELETE r FROM ${_dbSchema}.${_table} r INNER JOIN (SELECT reconId FROM ${_dbSchema}.${_table} WHERE mapping LIKE ${includeMapping} AND mapping NOT LIKE ${excludeMapping} AND activitydate < ${timestamp} AND entryType = 'summary') AS x ON x.reconId = r.reconId",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "purge-by-recon-number-of" : "set @num := 0, @mapping := ''; DELETE r FROM ${_dbSchema}.${_table} r INNER JOIN ( SELECT reconId, mapping, activitydate, @num := if(@mapping = mapping, @num + 1, 1) AS row_number, @mapping := mapping as m FROM ${_dbSchema}.${_table} WHERE mapping LIKE ${includeMapping} AND mapping NOT LIKE ${excludeMapping} AND entryType = 'summary' ORDER BY mapping, activitydate desc ) AS x ON r.reconId = x.reconId WHERE x.row_number > ${numberOf}"
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos }
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "resourceMapping" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "default" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "mainTable" : "genericobjects",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "propertiesTable" : "genericobjectproperties",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchableDefault" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "genericMapping" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "managed/*" : {
b96cd7823bf2959543f08268c177ec27856a2bccAndi Egloff "mainTable" : "managedobjects",
b96cd7823bf2959543f08268c177ec27856a2bccAndi Egloff "propertiesTable" : "managedobjectproperties",
b96cd7823bf2959543f08268c177ec27856a2bccAndi Egloff "searchableDefault" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
5e728d8d8aa79fd035c038d12c3e5fe635cbd88eAndi Egloff "managed/user" : {
5e728d8d8aa79fd035c038d12c3e5fe635cbd88eAndi Egloff "mainTable" : "managedobjects",
5e728d8d8aa79fd035c038d12c3e5fe635cbd88eAndi Egloff "propertiesTable" : "managedobjectproperties",
113939c1056403ed7d3bf33dd1b5d404e6838645Andi Egloff "searchableDefault" : false,
a7960ac1c75132071564d3772ed9349e61d146ffAndi Egloff "properties" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "/userName" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchable" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "/givenName" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchable" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "/sn" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchable" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
a7960ac1c75132071564d3772ed9349e61d146ffAndi Egloff "/mail" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchable" : true
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos },
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "/accountStatus" : {
ee62c64ead29d0f9db8846e4a137b4e928245fd4Andi Egloff "searchable" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "/roles" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchable" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "/sunset" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchable" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos }
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos }
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos },
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "scheduler" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "mainTable" : "schedulerobjects",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "propertiesTable" : "schedulerobjectproperties",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "searchableDefault" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "cluster" : {
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "mainTable" : "clusterobjects",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "propertiesTable" : "clusterobjectproperties",
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "searchableDefault" : true
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos },
f572d33ed141953335fe796ca36d818146af68efLaszlo Hordos "relationship" : {
222ebb2247918c7e4c9669200732e53532f6489dLaszlo Hordos "mainTable" : "relationships",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "propertiesTable" : "relationshipproperties",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "searchableDefault" : true
222ebb2247918c7e4c9669200732e53532f6489dLaszlo Hordos },
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "updates" : {
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "mainTable" : "updateobjects",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "propertiesTable" : "updateobjectproperties",
e5c203467ee4398ae81a6adb63da7477451b2e77Laszlo Hordos "searchableDefault" : true
}
},
"explicitMapping" : {
"link" : {
"table" : "links",
"objectToColumn" : {
"_id" : "objectid",
"_rev" : "rev",
"linkType" : "linktype",
"firstId" : "firstid",
"secondId" : "secondid",
"linkQualifier" : "linkqualifier"
}
},
"ui/notification" : {
"table" : "uinotification",
"objectToColumn" : {
"_id" : "objectid",
"_rev" : "rev",
"requester" : "requester",
"requesterId" : "requesterId",
"receiverId" : "receiverId",
"createDate" : "createDate",
"notificationType" : "notificationType",
"notificationSubtype" : "notificationSubtype",
"message" : "message"
}
},
"internal/user" : {
"table" : "internaluser",
"objectToColumn" : {
"_id" : "objectid",
"_rev" : "rev",
"password" : "pwd",
"roles" : { "column" : "roles", "type" : "JSON_LIST" }
}
},
"internal/role" : {
"table" : "internalrole",
"objectToColumn" : {
"_id" : "objectid",
"_rev" : "rev",
"description" : "description"
}
},
"audit/authentication" : {
"table" : "auditauthentication",
"objectToColumn" : {
"_id" : "objectid",
"transactionId" : "transactionid",
"timestamp" : "activitydate",
"userId" : "userid",
"eventName" : "eventname",
"result" : "result",
"principal" : {"column" : "principals", "type" : "JSON_LIST"},
"context" : {"column" : "context", "type" : "JSON_MAP"},
"entries" : {"column" : "entries", "type" : "JSON_LIST"},
"trackingIds" : {"column" : "trackingids", "type" : "JSON_LIST"}
}
},
"audit/config" : {
"table" : "auditconfig",
"objectToColumn" : {
"_id" : "objectid",
"timestamp" : "activitydate",
"eventName" : "eventname",
"transactionId" : "transactionid",
"userId" : "userid",
"trackingIds" : {"column" : "trackingids", "type" : "JSON_LIST"},
"runas" : "runas",
"objectId" : "configobjectid",
"operation" : "operation",
"before" : "beforeObject",
"after" : "afterObject",
"changedFields": {
"column": "changedfields",
"type": "JSON_LIST"
},
"revision" : "rev"
}
},
"audit/activity" : {
"table" : "auditactivity",
"objectToColumn" : {
"_id" : "objectid",
"timestamp" : "activitydate",
"eventName" : "eventname",
"transactionId" : "transactionid",
"userId" : "userid",
"trackingIds" : {"column" : "trackingids", "type" : "JSON_LIST"},
"runAs" : "runas",
"objectId" : "activityobjectid",
"operation" : "operation",
"before" : "subjectbefore",
"after" : "subjectafter",
"changedFields" : {"column" : "changedfields", "type" : "JSON_LIST"},
"revision" : "subjectrev",
"passwordChanged" : "passwordchanged",
"message" : "message",
"status" : "status"
}
},
"audit/recon" : {
"table" : "auditrecon",
"objectToColumn" : {
"_id" : "objectid",
"transactionId" : "transactionid",
"timestamp" : "activitydate",
"eventName" : "eventname",
"authentication/id" : "userid",
"action" : "activity",
"exception" : "exceptiondetail",
"linkQualifier": "linkqualifier",
"mapping" : "mapping",
"message" : "message",
"messageDetail" : {"column" : "messagedetail", "type" : "JSON_MAP"},
"situation" : "situation",
"sourceObjectId" : "sourceobjectid",
"status" : "status",
"targetObjectId" : "targetobjectid",
"reconciling" : "reconciling",
"ambiguousTargetObjectIds" : "ambiguoustargetobjectids",
"reconAction" : "reconaction",
"entryType" : "entrytype",
"reconId" : "reconid"
}
},
"audit/sync" : {
"table" : "auditsync",
"objectToColumn" : {
"_id" : "objectid",
"transactionId" : "transactionid",
"timestamp" : "activitydate",
"eventName" : "eventname",
"authentication/id" : "userid",
"action" : "activity",
"exception" : "exceptiondetail",
"linkQualifier": "linkqualifier",
"mapping" : "mapping",
"message" : "message",
"messageDetail" : {"column" : "messagedetail", "type" : "JSON_MAP"},
"situation" : "situation",
"sourceObjectId" : "sourceobjectid",
"status" : "status",
"targetObjectId" : "targetobjectid"
}
},
"audit/access" : {
"table" : "auditaccess",
"objectToColumn" : {
"_id" : "objectid",
"timestamp" : "activitydate",
"eventName" : "eventname",
"transactionId" : "transactionid",
"userId" : "userid",
"trackingIds" : {"column" : "trackingids", "type" : "JSON_LIST"},
"server/ip" : "server_ip",
"server/port" : "server_port",
"client/host" : "client_host",
"client/ip" : "client_ip",
"client/port" : "client_port",
"request/protocol" : "request_protocol",
"request/operation" : "request_operation",
"request/detail" : {"column" : "request_detail", "type" : "JSON_MAP"},
"http/request/secure" : "http_request_secure",
"http/request/method" : "http_request_method",
"http/request/path" : "http_request_path",
"http/request/queryParameters" : {"column" : "http_request_queryparameters", "type" : "JSON_MAP"},
"http/request/headers" : {"column" : "http_request_headers", "type" : "JSON_MAP"},
"http/request/cookies" : {"column" : "http_request_cookies", "type" : "JSON_MAP"},
"http/response/headers" : {"column" : "http_response_headers", "type" : "JSON_MAP"},
"response/status" : "response_status",
"response/statusCode" : "response_statuscode",
"response/elapsedTime" : "response_elapsedtime",
"response/elapsedTimeUnits" : "response_elapsedtimeunits",
"roles" : "roles"
}
},
"security" : {
"table" : "security",
"objectToColumn" : {
"_id" : "objectid",
"_rev" : "rev",
"storeString" : "storestring"
}
},
"security/keys" : {
"table" : "securitykeys",
"objectToColumn" : {
"_id" : "objectid",
"_rev" : "rev",
"keyPair" : "keypair"
}
}
}
}
}