Note: this component stores cluster-wide configuration data and is mirrored across all servers in the topology within the the same cluster.
Note: changes to cluster-wide configuration objects are immediately and automatically mirrored across all servers within the same cluster, so offline changes are not supported.
Advice that allows a policy writer to modify a SCIM patch from a SCIM "modify" operation before it is submitted to the store adapter.
The payload for this advice can be either a JSON object or an array.
If the payload is an array, it will be understood as a list of operations according to the SCIM patch format, which will be added to the end of the patch. For example, if the modify has a patch of { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "path": "name.formatted", "value": "John Doe"} ] }
and the payload is [ {"op": "add", "path": "name.first", "value": "John"}, {"op": "remove": "path": "name.last": "value": "Smith"} ]
, the resulting request to the store adapter will be { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "path": "name.formatted", "value": "John Doe"}, {"op": "add", "path": "name.first", "value": "John"}, {"op": "remove", "path": "name.last", "value": "Smith"} ] }
If the payload is an object, it will be interpreted as a set of new replace operations. The keys of the object will be the paths that will be modified, and the values will be the values that the paths are set to. For example, if the modify has a patch of { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "path": "name.formatted", "value": "John Doe"} ] }
and the payload is {"name.first": "John", "name.last": "Doe"}
, the resulting request to the store adapter will be { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ {"op": "replace", "path": "name.formatted", "value": "John Doe"}, {"op": "replace", "path": "name.first", "value": "John"}, {"op": "replace", "path": "name.last", "value": "Doe"} ] }
↓Parent Component
↓Properties
↓dsconfig Usage
The Modify SCIM Patch Advice component inherits from the Advice
The properties supported by this managed object are as follows:
Basic Properties: | Advanced Properties: |
---|---|
↓ advice-id | None |
↓ decision-type | |
↓ evaluation-order-index |
Description | A unique identifier for the advice type. This ID must match the "code" string returned from a policy decision request. |
Default Value | modify-scim-patch |
Allowed Values | A string |
Multi-Valued | No |
Required | Yes |
Admin Action Required | None. Modification requires no further action |
Description | A value indicating to what type of decisions this advice should be applied. |
Default Value | PERMIT |
Allowed Values | PERMIT - Only applied to PERMIT decisions. DENY - Only applied to DENY decisions. |
Multi-Valued | Yes |
Required | No |
Admin Action Required | None. Modification requires no further action |
evaluation-order-index (Read-Only)
Description | If multiple Advice are returned from a single policy request, then this property governs the order in which the Advice will be processed by the Policy Enforcement Point. Obligatory Advice are processed first. Within the set of obligatory or non-obligatory Advice, those with a smaller evaluation-order-index will be evaluated first. If multiple Advice have the same evaluation-order-index, then their order of evaluation is indeterminate. |
Default Value | 10 |
Allowed Values | An integer value. Lower limit is 0. |
Multi-Valued | No |
Required | No |
Admin Action Required | None. Modification requires no further action |
To list the configured Advice:
dsconfig list-advice [--property {propertyName}] ...
To view the configuration for an existing Advice:
dsconfig get-advice-prop --advice-name {name} [--tab-delimited] [--script-friendly] [--property {propertyName}] ...
To update the configuration for an existing Advice:
dsconfig set-advice-prop --advice-name {name} (--set|--add|--remove) {propertyName}:{propertyValue} [(--set|--add|--remove) {propertyName}:{propertyValue}] ...