Thanks for all comments on the first version of the model. I've integrated most of the remarks into the new version.

 

Design document:

https://rnovacek.fedorapeople.org/openlmi-firewalld/v2/html/design.html

 

MOF file:

https://rnovacek.fedorapeople.org/openlmi-firewalld/v2/60_LMI_Firewalld.html

 

 

Changes against v1:

 

* diagrams now have associations done according to UML

 

* parameter/property Port is now string and can be either plain port number as string or dash separated port range

 

* operations for extending zone (AddPort, AddForwardPort) are now atomic - e.g. AddForwardPort method takes all necessary parameters to create the forward port rule, instead of necessity to create and modify the rule in two steps

 

* AddRuleComponent method of class LMI_FirewalldRule was removed

 

* LMI_FirewalldRuleComponent was split into LMI_FirewalldServicePort (for association between LMI_FirewalldService and LMI_FirewalldPort) and LMI_FirewalldRichRuleComponent (association between LMI_FirewalldRichRule and LMI_FirewalldRule that describes its details)

 

* properties IPv4Destination and IPv6Destination was renamed to IPv4 and IPv6 (similar as in the Firewalld API)

 

* LMI_FirewalldForwardPort is now inherited from LMI_FirewalldPort

 

* value "No Target" of property Target in the class LMI_FirewalldZone removed

 

* LMI_FirewalldRichRule class got new methods AddService, AddICMPBlock, and AddLogAction (as a replacement for AddRuleComponent method).

 

* class LMI_HostedFirewalldService was renamed to LMI_FirewalldServiceOnSystem

 

 

Suggestions and comments are welcome as always.

 

Radek Novacek