############################################################################### #+begin_src cfengine3 bundle agent __main__ # @brief Illustrating the behavior of rxdirs in perms bodies. { vars: "example_dirs" slist => { "/tmp/rxdirs_example/rxdirs=default(false)-r", "/tmp/rxdirs_example/rxdirs=default(false)-rx", "/tmp/rxdirs_example/rxdirs=true-r", "/tmp/rxdirs_example/rxdirs=true-rx", }; files: "$(example_dirs)/." create => "true"; "/tmp/rxdirs_example/rxdirs=default(false)-r" perms => example:m( 600 ); "/tmp/rxdirs_example/rxdirs=default(false)-rx" perms => example:m( 700 ); "/tmp/rxdirs_example/rxdirs=true-r" perms => example:m_rxdirs_on( 600 ); "/tmp/rxdirs_example/rxdirs=true-rx" perms => example:m_rxdirs_on( 700 ); reports: "$(example_dirs) modeoct='$(with)'" with => filestat( $(example_dirs), modeoct ); } body file control{ namespace => "example"; } body perms m(mode) # @brief Set the file mode # @param mode The new mode { mode => "$(mode)"; } body perms m_rxdirs_on(mode) # @brief Set the file mode and set +x on directory when +r is desired # @param mode The new mode { inherit_from => m( $(mode) ); rxdirs => "true"; } #+end_src ############################################################################### #+begin_src example_output #@ ``` #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-r), please set it explicitly #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-r), please set it explicitly #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-rx), please set it explicitly #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-rx), please set it explicitly #@ R: /tmp/rxdirs_example/rxdirs=default(false)-r modeoct='40600' #@ R: /tmp/rxdirs_example/rxdirs=default(false)-rx modeoct='40600' #@ R: /tmp/rxdirs_example/rxdirs=true-r modeoct='40700' #@ R: /tmp/rxdirs_example/rxdirs=true-rx modeoct='40700' #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-r), please set it explicitly #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-rx), please set it explicitly #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-r), please set it explicitly #@ warning: Using the default value 'false' for attribute rxdirs (promiser: /tmp/rxdirs_example/rxdirs=default(false)-rx), please set it explicitly #@ ``` #+end_example