Golden Configurations can also be used to evaluate the compliance of services that use adapters to communicate with Itential Platform. To do this, Configuration Manager queries those adapters and grades their responses.
Because adapters communicate in JSON format, they can only be managed by Golden Configurations of the JSON OS type. JSON Golden Configurations follow many of the same conventions as CLI Golden Configurations. As such, this guide will only cover the Golden Configuration elements that differ when working with JSON data.
Every node in a JSON Golden Configuration also has an associated baseline configuration, though it behaves slightly differently than when working with devices. It consists of:
Once an adapter task (represented in JSON Golden Configurations as a task instance) has been added to a node, you can run compliance checks against it. The adapter task is executed, and the response received from it is compared to the node’s baseline configuration. A compliance report is then generated from this comparison.

The configuration that task instances must be compliant with is created on the Configuration tab. JSON configurations function similarly to CLI configurations—type the JSON data you would like to verify incoming responses against into the text editor, then define any needed rules. However, there are some key differences.
In JSON configurations, rules are defined on a line-by-line basis using the JSON Configuration Options modal. To open the modal, right-click on the line you would like to edit. The selected line, or path, is displayed at the top of the modal in JSONPath dot notation.

For example, if you selected line 15 from the configuration snippet below, the path would be displayed as vpcs[1].interfaces:
Different tabs are made available on the modal depending on the context of the path:
The rules provided by these tabs are also contextual. For example, even if the Rules tab is currently available, it will not display rules that are irrelevant to the current path.
The JSON Configuration Options modal was introduced in version 2023.1 of Itential Platform. It was much simplified compared to its current iteration, featuring only the functionality of the Rules and Key Validation tabs. In the 2023.2 version, Array Operations were introduced and the modal was split into three tabs.
The Rules tab provides general-purpose rules that can be applied to most paths.
The Key Validation tab provides rules that determine how key-value pairs are interpreted in the current path. In practice, these rules are only used when the path is an array of objects. In such scenarios, these rules can evaluate keys that should (or should not) appear in every object of the array.
The Array Operations tab provides rules that determine how the array referenced by the current path is interpreted.
If the current path references an array of objects, an identifier key must be set via the Rules tab. All rules defined on the Array Operations tab will only affect the identifier key.
By default, noncompliant objects present in an array are designated by index value. For example, if an object at the second index of an array named vpcs is noncompliant, it will be referred to by the path vpcs[1]. However, because index values are not always static, it can sometimes be challenging to locate the noncompliant object.
To address this issue, you may use the value of an object key as a reporting identifier:
Itential recommends that you use a key that appears in every array object and has a unique value across all array objects.
To prevent syntax errors, different delimiters are used in JSON configurations to define variables than in CLI configurations.
To utilize variables in a JSON configuration, use the $_ _$ delimiters. In the following example, the value of "vpcName" will be replaced by the variable value:
Regular expressions can be utilized in a similar manner by using the $/ /$ delimiters. For example, to ensure that the value of "deviceName" begins with Itential:
Once your baseline configuration has been defined, you can use it to measure the compliance of any applicable task instances. All operations related to task instances are performed from the Manage tab.
Select the Add Task (+) button from the toolbar at the top of the Manage tab. The Add Adapter Task modal will appear.

To run a compliance check against a task instance: