License Models

>What is a License Model?

>License Model Status

>Associating a License Model with a Feature <5.5Preview>

>Prerequisites for Copying a License Model

>Copying a License Model

> Dynamic Substitution of License Model Attributes

>Actions for License Models

> Sentinel RMS Enforcement - License Models

> Sentinel LDK Enforcement - License Models

> Sentinel Fit Enforcement - License Models

New to Sentinel EMS?
See How to Use Sentinel EMS?

What is a License Model?

A license model is a combination of various attributes that define how and when a product or product suite* is sold to an end user. Each license model defines the conditions that control the use of a feature in a product. Sentinel EMS provides you with the flexibility to associate multiple license models with the features in your products or product suites*, so that you can secure the products or products suites* and generate different types of licenses according to your requirements.

License models use attributes to define how hardware, software applications, or services are deployed. License models map these license attributes into logical groups known as attribute groups.

<5.5Preview>You apply license models by associating them with features. You can use existing license models, or you can create your own license models by copying existing license models and changing their attributes. Each license model includes:

>Enforcement Technology: Sentinel RMS, Sentinel Fit, Services, and third-party enforcements. You must use SCL Add-on for Sentinel RMS in conjunction with Sentinel EMS to support Cloud Served- Lease and Cloud - Connected licenses.

>Attributes: The actual license model definitions including the name, data type, possible range, and other values. License model attributes define how hardware, software applications, or services are deployed.

>Attribute Groups: A collection of license model attributes.

Sentinel EMS is fully integrated with Sentinel RMS, Sentinel LDK, Sentinel Fit, and Services, and is also designed to support other licensing systems. For a detailed list of license models supported in Sentinel EMS, their attributes, default values, and other details, refer to:

> Sentinel RMS Enforcement - License Models

> Sentinel LDK Enforcement - License Models

> Sentinel Fit Enforcement - License Models

License Model Status

A license model can be enabled or disabled. Only enabled license models are available for use. The Status of a license model can be:

>Enabled: License model is available for inclusion in features.

>Disabled: License model is disabled and is not available for inclusion in features.

Associating a License Model with a Feature <5.5Preview>

You can associate license models with features while:

> creating features. For details, see License Models.

> creating products. For details, see Associate Features.

>defining entitlements. For details, see Creating Entitlements.

Prerequisites for Copying a License Model

To create a new license model, you copy an existing license model and modify its attributes. Following are the prerequisites for copying a license model:

>Catalog permissions to copy a license model.

>A predefined license model.

Copying a License Model

After you copy an existing license model, you must modify at least one of its attributes to create a new license model.

Important

The following are the points to remember while copying a license model:

>Duplicate license models cannot be created for Sentinel EMS.

> Special characters (/ \ $ ! @ # *) and internationalized characters (such as Japanese, German, Chinese font set) are not supported for cloud served licenses.

To create a new license model:

1.From the navigation pane, select Catalog > License Models. The License Models page displays the available license models that you can use to create a new license model. The existing license models provide a fixed set of attributes.

2.Scroll to the license model that you want to copy and, in the Actions column, click the Copy button Copy button. The Add License Model page appears.

3. In the Add License Model page, enter the license model Name and Description. For more information on these attributes, see Common License Model Attributes.

4.Click to expand the attribute groups and edit the values of the license model attributes as required. The available attribute groups are dependent on the license model.

You can add dynamic information to string-type license model attributes that are used when activating a license by implementing dynamic substitution. You can also select the Base64 encode option to encode the dynamic expression in Base64 format. See Dynamic Substitution of License Model Attributes for more information.

NOTE    

> For all trial license models, only the value of one of the fields, Trial Duration Hours or Trial Duration Days (under Limits), can be set to "No Limit".

> Trial Duration Days cannot be updated for an entitlement that is marked as completed.

5.Click Save.

Common License Model Attributes

The following table explains the common attributes that are used to define every license model.

Attribute Description Required/Optional Valid Values
Name Name of the new license model. Required

>Alphanumeric

>1 to 255 characters

Enforcement Type The enforcement type and version, for example Sentinel RMS 10.1, Sentinel LDK 8.5, or Sentinel Fit 1.5. Required Read-only
Description Additional information about the license model. Optional

>Alphanumeric

>0 to 500 characters

For descriptions of license-model-specific attributes, see the relevant section in:

> Sentinel RMS Enforcement - License Models

> Sentinel LDK Enforcement - License Models

> Sentinel Fit Enforcement - License Models

Dynamic Substitution of License Model Attributes

You can now dynamically modify string-type license model attributes that are used when activating a license by implementing dynamic substitution. This helps software vendors add business critical payload to their licenses with just a few clicks without having to involve Thales Professional Services. This also eliminates the need for custom payload implementations. Users with appropriate permissions can add dynamic information to licensing attributes of a license model. A dynamic expression is information that changes and can be customized as required. This information is added to licensing attributes of a license model.

Some important points about a dynamic expression are as follows:

>Dynamic expressions are evaluated at the time of activation to generate the license strings.

>JSON response of the Sentinel EMS REST APIs is used to build a dynamic expression.

>A dynamic expression can be created only for string-type license attributes.

>A dynamic expression is the information that changes and can be customized as required.

>The Base64 encode option can be used to encode the dynamic expression in Base64 format.

Dynamic Expression Syntax

You can use the JSON response of the Sentinel EMS REST APIs to build a dynamic expression. Dynamic expressions are similar to variables that are assigned as a value of a licensing attribute. The dynamic expression is evaluated during activation to generate the license string. The expression is enclosed in curly brackets and preceded by the $ symbol. The value on the left side of the = symbol is the license attribute to which the value of the dynamic expression is assigned. For example:

${name}

In the example above, computed value of ${name} will be assigned to the license attribute.


Within the curly brackets, you can enclose the dynamic expression in parentheses followed by an ! symbol. This ensures that a null pointer exception is not thrown if the value for the variable is not found. For example:

${(name)!}

In the above example, if ${name} does not have a value, the use of ! (as in the syntax) ensures that an error is not thrown. Another example—if an entitlement does not have a customer, using ${(data.entitlement.customer.name)!} ensures activation.


The JSON response of the Sentinel EMS REST APIs is stored in the data object. With the knowledge of Sentinel EMS REST API JSON response structures, the data object can be referenced to create dynamic expressions. For example:

${(data.entitlement.eid)!} 

In the example above, the dynamic expression is evaluated to display the value of the entitlement ID in an entitlement.

You can include market group information for an entity using the following:

${(data.marketGroup.name)!}  

 

The following table lists some examples of how to build dynamic expressions:

Dynamic Expression Details
${data.entitlement.externalId} Evaluate the value inside an object node.
${data.entitlement.customer.id} Evaluate the value inside an object node nested within another object node.
${(attributeValue("ATTRIBUTE_NAME", data.feature.customAttributes.customAttribute))} Evaluate the value of custom attribute by name.
${data.feature.nameVersion.version}|
${data.feature.identifier}|${data.feature.refId2}

Combination of dynamic expressions. You create these combinations by concatenating two or more of any of the examples specified above. Separators (; | , ) can also be used to combine dynamic expressions.

Dynamic Expressions are Case-Sensitive

To ensure correct evaluation, the letter casing of data objects used in a dynamic expression must be exactly the same as specified in the REST API JSON response.

Incorrect: ${data.Customer.Name}

Correct: ${data.customer.name}

Object Nodes

Object nodes are entity-specific data objects in Sentinel EMS REST APIs that you can use to retrieve information to build your dynamic expression. Some data objects that you can use are:

>feature: The object node that contains information about features and their licence models.

>productKey: The object node for the line item that is being activated.

>product: The object node that contains information about products, which contain feature information and subsequently license models.

> productSuite: The object node that contains information about product suites* (which contain product information).

>entitlement: The object node that contains information about entitlements.

>activation: The object node that contains activation details.

You cannot use the following Sentinel EMS REST API data objects to build dynamic expressions:

>Channel partner lists in entitlements

>Fingerprints in entitlements

>Downloads

Character Substitution in Dynamic Expressions

When using a dynamic expression, an evaluated value may have certain non-supported characters. Using such characters in your dynamic expression may generate an error. Sentinel EMS provides RMS Substitution Key Value Pair and Fit Substitution Key Value Pair in Administration Console to handle character substitution. If the Base64 encode option is used then the RMS Substitution Key Value Pair and Fit Substitution Key Value Pair properties will be ignored. For more information on these properties, see Administration Console.

Actions for License Models

The following table lists the actions available for license models:

Action Description
Copy button Copy
Copies the information of an existing license model to create a new one that you can modify. For information, see Copying a License Model.
Edit button Edit

Updates information for an existing license model.

Note:

>Only users with appropriate permissions can modify license model details. For information, see Roles.

>You can modify the name, description, and attribute list of a license model.

> You can modify a license model only if it is not included in any product or not set as the default license model if included in a product. 

Delete button Delete

Deletes a license model. You can delete a license model only if it is not associated with any feature.

Disable button Disable
Enable button Enable

Disables or enables a license model.

Note:

>You can disable or enable license models irrespective of the deployment status of the feature in which they are used.

>Disabled license models are not available for new features.