Define Features
You can define features in your application that you want to license individually. For this guide, we will create two features Print and Scan, each associated with Trial Standalone and Trial Standalone Node Locked license models.
NOTE
In Sentinel LDK, license models are not associated with features, but are associated later with products.
For the scenario discussed in this guide, set the Associate Default License Model property in Administration Console to Yes. By setting this property to Yes, you do not need to explicitly associate license models with products. The Perpetual license model will be associated with every product by default. You can override the default license model if required.
You can create features by using the following API endpoint:
POST /ems/api/v5/features
Create the "Print" Feature
First, to create the feature Print, set the following parameters in the input:
Parameter |
Value |
Meaning |
---|---|---|
Namespace | ||
name | Zone-A
|
Name of the namespace (created earlier) to which the feature belongs. NOTE for Sentinel LDK Change the namespace |
Feature | ||
name |
|
Name of the feature. |
License Model
NOTE for Sentinel LDK This section is not relevant for Sentinel LDK, because you do not associate license models with features in Sentinel LDK. |
||
name |
|
Name of the license models to be associated with the feature. NOTE See License Model to learn how to retrieve the list of license models available for an enforcement. |
|
||
isDefault |
for Trial Standalone Node Locked |
Indicates that the Trial Standalone Node Locked is the default license model for the Print feature. NOTE At least one license model must be added to a feature. If multiple license models are added to a feature, one of them must be marked as default. |
Sample Input
Use the following JSON to create the feature Print:
{
"feature": {
"namespace": {
"name": "Zone-A"
},
"nameVersion": {
"name": "Print",
"version": ""
},
"featureLicenseModels": {
"featureLicenseModel": [
{
"licenseModel": {
"name": "Trial Standalone"
},
"isDefault": "true"
},
{
"licenseModel": {
"name": "Trial Standalone Node Locked"
},
"isDefault": "false"
}
]
}
}
}
For Sentinel LDK, change the paramater values as explained below:
>Change the namespace name
to the vendor-specific batch code.
>Remove the entire featureLicenseModels
object because you do not associate license models with features in Sentinel LDK.
Example
feature { "feature": { "namespace": { "name": "DEMOMA" }, "nameVersion": { "name": "Print", "version": "" } } }
Sample Response (Success)
Response Body
{
"feature": {
"namespace": {
"id": "xxxxx-xxxxx-xxxxx-xxxxx",
"name": "Zone-A"
},
"externalId": "",
"id": "xxxxx-xxxxx-xxxxx-xxxxx",
"identifier": "",
"nameVersion": {
"name": "Print",
"version": ""
},
"refId1": "",
"refId2": "",
"description": "",
"featureLicenseModels": {
"featureLicenseModel": [
{
"enforcement": {
"id": "xxxxx-xxxxx-xxxxx-xxxxx",
"name": "Sentinel RMS",
"version": "9.2"
},
"licenseModel": {
"id": "xxxxx-xxxxx-xxxxx-xxxxx",
"name": "Trial Standalone"
},
"isDefault": "true"
},
{
"enforcement": {
"id": "xxxxx-xxxxx-xxxxx-xxxxx",
"name": "Sentinel RMS",
"version": "9.2"
},
"licenseModel": {
"id": "xxxxx-xxxxx-xxxxx-xxxxx",
"name": "Trial Standalone Node Locked"
},
"isDefault": "false"
}
]
},
"customAttributes": ""
}
}
NOTE For Sentinel LDK, the response object contains different parameters and values. Refer to NOTE for Sentinel LDK for more information.
HTTP Status Code
201 (Created)
Response Header
The auto-generated unique identifier (id) of the new feature is returned in the response header. For example:
/api/v5/features/xxxxx-xxxxx-xxxxx-xxxxx
Create the "Scan" Feature
Similarly, create another feature named Scan with all other elements remaining the same.
You can use the previous input, by changing the feature name to Scan, as shown below:
{
"feature": {
"namespace": {
"name": "Zone-A"
},
"nameVersion": {
"name": "Scan",
"version": ""
},
"featureLicenseModels": {
"featureLicenseModel": [
{
"licenseModel": {
"name": "Trial Standalone"
},
"isDefault": "true"
},
{
"licenseModel": {
"name": "Trial Standalone Node Locked"
},
"isDefault": "false"
}
]
},
}
}