Condition Types
This section describes the following condition types:
• | Hostid Condition |
• | Hostname (Device Name) Condition |
• | Hosttype (Device Type) Condition |
• | Vendor Dictionary Condition |
These condition types can be combined using AND, OR, and NOT, to form more complex rules. For more information, see AND, OR, and NOT Operators.
Note that in this section, the syntax describing each condition has been simplified. For a detailed syntax description, refer to Model Definition Grammar and Syntax—EBNF.
When a client requests a license from the license server, the client includes the unique hostid in the request to which the license server binds the licenses sent in the response. The hostid condition enables you to allocate licenses from a specified partition to one or more client devices that are identified by a hostid.
The hostid is specified as a value/type pair (for example, 7200014f5df0/ETHERNET). If a hostid condition does not specify the hostid type, it is assumed that the hostid is of type string.
hostid_condition = 'hostid', '(', parameter_list, ')' ;
Example
The following hostid condition allows any feature requests with hostid h1 or h2 to use features from partition p1.
on hostid("h1", "h2") {
use "p1"
accept
}
Hostname (Device Name) Condition
Your software producer can set a host name on a client device. (This host name is also sometimes referred to as a device name.) A host name is a human-readable “alias”—in contrast to the hostid—which can optionally be included in a capability request. For information about host names that might be available, contact your software producer.
Syntax
hostname_condition = 'hostname', '(', parameter_list, ')' ;
Example
The following host name condition allows any feature requests with host name ABC to use features from partition p2.
on hostname("ABC") {
use "p2"
accept
}
Note that the host name is case sensitive.
Hosttype (Device Type) Condition
Your software producer can set a host type on a client device. (This host type is also sometimes referred to as a device type.) A host type can optionally be included in a capability request. For information about host types that might be available, contact your software producer.
Syntax
hosttype_condition = 'hosttype', '(' parameter_list, ')' ;
Example
The following host type condition allows any feature requests with host type device to use features from partition p3.
on hosttype("device") {
use "p3"
accept
}
Note that the host type is case sensitive.
The vendor dictionary enables the software producer to send custom data in a capability request (in addition to the FlexNet Embedded–specific data) to the license server and vice-versa. Basically, the vendor dictionary provides a means to send information back and forth between the client and server for any producer-defined purposes, as needed; FlexNet Embedded does not interpret this data.
Vendor dictionary data is stored as key–value pairs. The key name is always a string, while a value can be a string or a 32-bit integer value. Keys are unique in a dictionary and hence allow direct access to the value associated with them.
For information about vendor dictionary data that might be available, contact your software producer.
Syntax
vendor_dictionary_condition = 'dictionary', '(', keyword_parameter_list, ')' ;
Example
The following vendor dictionary condition allows any feature requests from the engineering business unit (as defined in the vendor dictionary) to use features from partition p4.
on dictionary("business-unit" : "engineering") {
use "p4"
accept
}