In the syntax description language Extended Backus-Naur Form (EBNF) the following terminal symbols apply.

ACL = '{' AccessControlList ',' Enabled ',' MaxGroups ',' MaxUsers '}'

 

 

Enabled = '"Enabled": ' Boolean

 

MaxGroups = '"GroupsMaximumNumber": ' Number

 

MaxUsers = '"UsersMaximumNumber": ' Number

 

 

AccessControlList = AccessControlListKey ':' '{' ContainerRuleSets ',' Rules ',' AccessControlListType '}'

AccessControlListKey = '"AccessControlList"'

AccessControlListType = '"__type":"AccessControlList"'

 

ContainerRuleSets = ContainerRuleSetsKey ':' ('[' ContainerRulesetList ']' | '[]')

ContainerRuleSetsKey = '"ContainerRulesets"'

ContainerRulesetList = ContainerRuleset | ContainerRulesetList ',' ContainerRuleset

ContainerRuleset = '{' FcRuleSets ',' Rules ',' ContainerName ',' ContainerValue ',' ContainerRuleSetType '}'

ContainerRuleSetType = '"__type": "ContainerRuleset"'

ContainerName = '"Text": ' '"' String '"'

ContainerValue = '"Value": ' '"' String '"'

 

FcRuleSets = FcRuleSetsKey ':' ('[' FcRuleSetList ']' | '[]')}

FcRuleSetKey = '"FcRulesets"'

FcRuleSetList = FcRuleset | FcRuleSetList ',' FcRuleset

FcRuleSet= '{' PcRuleSets ',' Rules ',' FcName ',' FcValue ',' FcRuleSetType '}'

FcRuleSetType= '"__type": "FcRuleset"'

FcName = '"Text": ' FcFirmItemText

FcValue = '"Value": ' FcFirmCode

FcFirmItemText = '"' String '"'

FcFirmCode = Number

 

PcRuleSets = PcRuleSetsKey ':' ('[' PcRuleSetList ']' |'[]')

PcRuleSetKey = '"PcRulesets"'

PcRuleSetList = PcRuleset | PcRuleSetList ',' PcRuleset

PcRuleSet= '{' ActivePiText ',' Rules ',' PcName ',' PcValue ',' PcRuleSetType '}'

PcRuleSetType= '"__type": "PcRuleset"'

PcName = '"Text": ' PcProductItemText

PcProductItemText = '"' String '"'

PcValue = '"Value": ' '"'PcFirmCode':'PcProductCode '"'

PcFirmCode = Number

PcProductCode = Number

ActivePiText = '"ActivePiText": ' Number

 

Rules = RulesKey ':' ('[' RulesList ']' |'[]')

RulesKey = '"Rules"'

RulesList = Rule | RulesList ',' Rule

Rule = '{' RuleId ',' RuleAction ',' RuleType ',' RuleValue ',' RuleReservation ',' RuleLimit ' ',' RuleObjType '}'

RuleObjType = '"__type": "Rule"'

RuleAction = '"Action": ' '"'('Allow' | 'Deny')'"'

RuleType = '"Type": ' '"'('Default' | 'Host' | 'Subnet' | 'User' | 'Group' | 'Container') '"'

RuleValue = '"Value": ' '"' String '"'

RuleLimit = '"'Limit" :' Number

RuleReservation = '"Reserved": ' Number

RuleId = '"RuleId": ' Number

 

Boolean = 'true' | 'false'