Imported Upstream version 1.7.0
[platform/upstream/augeas.git] / lenses / jmxaccess.aug
1 (*
2 Module: JMXAccess
3   JMXAccess module for Augeas
4
5 Author: Brian Redbeard <redbeard@dead-city.org>
6
7
8 About: Reference
9   This lens ensures that files included in JMXAccess are properly
10   handled by Augeas.
11
12 About: License
13   This file is licensed under the LGPL License.
14
15 About: Lens Usage
16   Sample usage of this lens in augtool:
17
18     * Create a new user
19       > ins user  after /files/etc/activemq/jmx.access
20       > set /files/etc/activemq/jmx.password/user[last()]/username redbeard
21       > set /files/etc/activemq/jmx.password/user[last()]/access readonly
22       ...
23
24     * Delete the user named sample_user
25       > rm /files/etc/activemq/jmx.password/user[*][username = "sample_user"]
26
27   Saving your file:
28
29       > save
30
31 About: Configuration files
32   This lens applies to relevant conf files located in  /etc/activemq/ 
33   The following views correspond to the related files:
34     * access_entry:
35       /etc/activemq/jmx.access
36   See <filter>.
37   
38
39 *)
40
41 module JMXAccess =
42         autoload xfm
43
44 (* View: access_entry *)
45 let access_entry = [ label "user" .
46                     [ label "username" . store Rx.word ] . Sep.space .
47                     [ label "access" . store /(readonly|readwrite)/i ] . Util.eol ]
48
49
50
51 (* View: lns *)
52 let lns = ( Util.comment | Util.empty | access_entry )*
53
54
55 (* Variable: filter *)
56 let filter = incl "/etc/activemq/jmx.access"
57
58 let xfm = transform lns filter