File: basic_replace.cf

package info (click to toggle)
cfengine3 3.12.1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 31,124 kB
  • sloc: ansic: 135,891; sh: 15,116; python: 1,501; makefile: 1,343; yacc: 1,184; lex: 594; perl: 211; pascal: 143; xml: 21; sed: 4
file content (72 lines) | stat: -rw-r--r-- 1,490 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#######################################################
#
# Replace a pattern and use match.0
#
#######################################################

body common control
{
      inputs => { "../../default.cf.sub" };
      bundlesequence  => { default("$(this.promise_filename)") };
      version => "1.0";
}

#######################################################

bundle agent init
{
  vars:
      "states" slist => { "actual", "expected" };

      "actual" string =>
      "BEGIN
END";

      "expected" string =>
      "BEGIN_REPLACED
END";

  files:
      "$(G.testfile).$(states)"
      create => "true",
      edit_line => init_insert("$(init.$(states))"),
      edit_defaults => init_empty;
}

bundle edit_line init_insert(str)
{
  insert_lines:
      "$(str)";
}

body edit_defaults init_empty
{
      empty_file_before_editing => "true";
}

######################################################
#
bundle agent test
{
  files:
      "$(G.testfile).actual"
      edit_line => test_replace("$(init.parameters)");
}

bundle edit_line test_replace(parameters)
{
  replace_patterns:
      "^BEGIN$" replace_with => value("BEGIN_REPLACED");
}

#######################################################

bundle agent check
{
  methods:
      "any" usebundle => dcs_check_diff("$(G.testfile).actual",
                                            "$(G.testfile).expected",
                                            "$(this.promise_filename)");
}
### PROJECT_ID: core
### CATEGORY_ID: 27