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*",