schema
The connector's schema object defines all resources and CRUD calls supported by the system.
The schema object contains the crud_objects child object. In turn, crud_objects contains a child object for each external object type in the system (e.g., users or groups). The child objects of crud_objects thus correspond to the system's Data tables in NIM.
Each child object of crud_objects must contain resources and operations properties. Optionally, they may also contain key and groupmembership properties.
- resources
The attributes available for this type of system object. These correspond both to columns in NIM data tables, and to REST resources. Required.
- operations
The CRUD operations available for this type of system object. Uses the resources that you define in the resources property. Required.
- key
The name of the table's key. If specified, should correspond to a resource in the resources property. Optional.
- groupmembership
A property to support NIM Role models (optional; advanced)
For example, in a groups system object, you would likely specify get, create, delete, and update calls, and attributes such as unique identifier and group email address.
Example JSON:
"schema": {
"crud_objects": {
"groups": {
"operations": {
"groups_get": {
"method": "get"
},
"group_create": {…},
"group_delete": {
"method": "delete",
"call": {
"mode": "normal",
"path": "/groups/{id}"
},
"semantics": "delete",
"resource_allowance_default": "prohibited",
"resource_mandatory": [
"id"
]
},
"group_update": {…}
},
"key": "id",
"resources": {
"id": "string*",
"email": "string*",