1# Copyright 2021 Northern.tech AS 2 3# This file is part of CFEngine 3 - written and maintained by Northern.tech AS. 4 5# This program is free software; you can redistribute it and/or modify it 6# under the terms of the GNU General Public License as published by the 7# Free Software Foundation; version 3. 8 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13 14# You should have received a copy of the GNU General Public License 15# along with this program; if not, write to the Free Software 16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 17 18# To the extent this program is licensed as part of the Enterprise 19# versions of Cfengine, the applicable Commercial Open Source License 20# (COSL) may apply to this file if you as a licensee so wish it. See 21# included file COSL.txt. 22 23###################################################################### 24# 25# File editing - back reference 26# 27###################################################################### 28 29 30body common control 31 32{ 33 version => "1.2.3"; 34 bundlesequence => { "example" }; 35} 36 37######################################################## 38 39bundle agent example 40 41{ 42 files: 43 44 # The back reference in a path only applies to the last link 45 # of the pathname, so the (tmp) gets ignored 46 47 "/tmp/(cf3)_(.*)" 48 49 edit_line => myedit("second $(match.2)"); 50 51 52 # but ... 53 54 # "/tmp/cf3_test" 55 # create => "true", 56 # edit_line => myedit("second $(match.1)"); 57 58 59} 60 61######################################################## 62 63bundle edit_line myedit(parameter) 64{ 65 vars: 66 67 "edit_variable" string => "private edit variable is $(parameter)"; 68 69 insert_lines: 70 71 "$(edit_variable)"; 72 73} 74 75