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 name to the vendor-specific batch code.

Feature    

name

Print

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

Trial Standalone

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.

Trial Standalone Node Locked

isDefault

true

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"
        }
      ]
    }
  }
}

NOTE for Sentinel LDK

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"
        }
      ]
    },
  }
}