(* Module: JettyRealm JettyRealm Properties for Augeas Author: Brian Redbeard About: Reference This lens ensures that properties files for JettyRealms are properly handled by Augeas. About: License This file is licensed under the LGPL License. About: Lens Usage Sample usage of this lens in augtool: * Create a new user > ins user after /files/etc/activemq/jetty-realm.properties/user > set /files/etc/activemq/jetty-realm.properties/user[last()]/username redbeard > set /files/etc/activemq/jetty-realm.properties/user[last()]/password testing > set /files/etc/activemq/jetty-realm.properties/user[last()]/realm admin ... * Delete the user named sample_user > rm /files/etc/activemq/jetty-realm.properties/user[*][username = "sample_user"] Saving your file: > save About: Configuration files This lens applies to jetty-realm.properties files. See . *) module JettyRealm = autoload xfm (* View: comma_sep *) let comma_sep = del /,[ \t]*/ ", " (* View: realm_entry *) let realm_entry = [ label "user" . [ label "username" . store Rx.word ] . del /[ \t]*:[ \t]*/ ": " . [ label "password" . store Rx.word ] . [ label "realm" . comma_sep . store Rx.word ]* . Util.eol ] (* View: lns *) let lns = ( Util.comment | Util.empty | realm_entry )* (* Variable: filter *) let filter = incl "/etc/activemq/jetty-realm.properties" let xfm = transform lns filter